上一篇 | 下一篇

用php实现gb2312和unicode间的编码转换

发布: 2008-6-29 19:38 | 作者: admin | 来源: | 查看: 0次

gb2312 和 unicode 间的编码转换

下面的例子是将 gb2312 转换为 "h"这种形式

php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数

查表(gb2312.txt)也行

$text = "电子书库";

preg_match_all("/[\x80-\xff]?./",$text,$ar);

foreach($ar[0] as $v)

echo "&#".utf8_unicode(iconv("GB2312","UTF-8",$v)).";";

?>

// utf8 -> unicode

function utf8_unicode($c) {

switch(strlen($c)) {

case 1:

return ord($c);

case 2:

$n = (ord($c[0]) & 0x3f) << 6;

$n += ord($c ) & 0x3f;

return $n;

case 3:

$n = (ord($c[0]) & 0x1f) << 12;

$n += (ord($c ) & 0x3f) << 6;

$n += ord($c ) & 0x3f;

return $n;

case 4:

$n = (ord($c[0]) & 0x0f) << 18;

$n += (ord($c ) & 0x3f) << 12;

$n += (ord($c ) & 0x3f) << 6;

$n += ord($c ) & 0x3f;

return $n;

}

}

?>

下面的例子是利用php将"h"这中编码转换为gb2312.

$str = "TTLh)

字号: | 推荐给好友

41/41234>

评分:0

我来说两句