PHP如何实现Unicode和Utf-8编码相互转换

maritime821 32 0 pdf 2022-01-30 23:01:36

最近恰好要用到unicode编码的转换,就去查了一下php的库函数,居然没找到一个函数可以对字符串进行Unicode的编码和解码!Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。Unicode为双字节,而UTF-8中汉字占三个字节。假如在Unicode中汉字“你”的编码为“u4F60”,把它转换为二进制为100111101100000,然后按照UTF-8的方法进行转换。当然在UTF-8到Unicode的转换也是通过移位等来完成的,就是把UTF-8那些格式相应的位置的二进制数给揪出来。在UTF-8中“你”为11100100,10111101,10100000。所以还要将得到的结果左移12位,最高位也就这样完成了0100,000000,000000。而第二位则是要把“111101”给取出来,则只需将第二字节10111101和111111取与(&)。

PHP如何实现Unicode和Utf-8编码相互转换

PHP如何实现Unicode和Utf-8编码相互转换

PHP如何实现Unicode和Utf-8编码相互转换

用户评论
请输入评论内容
评分:
暂无评论