Chinaunix首页 | 论坛 | 博客
  • 博客访问: 113821
  • 博文数量: 41
  • 博客积分: 2095
  • 博客等级: 大尉
  • 技术积分: 410
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-22 23:04
文章分类
文章存档

2012年(4)

2011年(1)

2008年(8)

2006年(28)

我的朋友

分类: LINUX

2006-11-27 01:47:40

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
 
阅读(2252) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~