cp936编码包括了gbk。不同于utf8,unicode....
gb编码等于codepage936码表里的unicode编码对应的编码,非unicode编码,而是gb码。
js里 escape(字串);得到%uxxxx,xxxx是这个字串的unicode编码。而非gb码,也非utf8码,不论这个字串的原始码是什么。
汉字 奴
gb(cp936): c5ab
utf-8: 7459
unicode: 5974
cp936码表中,高字节为A1-AA的部分为各种符号,其中有汉字标点,部首,日文部首。
A140-A1FE
|
AA40-AAFE
在http://www.microsoft.com/globaldev/reference/dbcs/936.mspx
看了半天,写下。
php生成全cp936码表的函数
creategb();
/**
* cp936 created
*/
function creategb()
{
$gb = '';
/**
* head:81-F7 foot: 40-7E
* 80-FE
*/
for ($i=0x81;$i<=0xF7 ;$i++ )
{
for ($j=0x40;$j<=0x7E ;$j++ )
{
$gb .= chr($i).chr($j);
}
$gb .="\n";
for ($j=0x80;$j<=0xFE ;$j++ )
{
$gb .= chr($i).chr($j);
}
$gb .="\n";
}
/**
* head:F8-FD foot: 40-7E
* 80-A0
*/
for ($i=0xF8;$i<=0xFD ;$i++ )
{
for ($j=0x40;$j<=0x7E ;$j++ )
{
$gb .= chr($i).chr($j);
}
$gb .="\n";
for ($j=0x80;$j<=0xA0 ;$j++ )
{
$gb .= chr($i).chr($j);
}
$gb .="\n";
}
/**
* head:FE foot: 40-4F
*/
$i = 0xFE;
for ($j=0x40;$j<=0x4F ;$j++ )
{
$gb .= chr($i).chr($j);
}
$gb .="\n";
//写入text
echo $gb;
} // end func
阅读(2366) | 评论(0) | 转发(0) |