php获取字符编码的问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 17:45:47
如何在php中获取gb2312的编码?比如说:‘啊’=>'0x3021'我要获取0x3021?请各位帮帮忙!谢谢!

啊=>'0x3021'
这是区位码,还是国标码,要是的还真没办法.
在PHP中,可以取汉字的内码
echo bin2hex('啊');
我也只能做到这一步,你再找接下去方法.

echo str_decode('啊');
function str_decode($strval){
$a=bin2hex($strval);
$a1=substr($a,0,2);
$a2=substr($a,2,2);
$a1=strval(decbin(hexdec($a1)));
$a2=strval(decbin(hexdec($a2)));
$c='0';
$b1=substr_replace($a1,$c,0,1);
$b2=substr_replace($a2,$c,0,1);
$b=dechex(bindec($b1)).dechex(bindec($b2));
return "ox".$b;
}
不够简练,你在完整下.
注意文件必须以GBK形式保存,才能取得国标码.
思路是,先取得汉字的内码,再根据内码和国标码的关系,先把内码分成两部分,再转换成二进制,用替换函数把最高位换成'0',这样就得到国标码的二进制了,下面的过程就相反.