客户端需要UTF-16编码的文件,但转换时,同事说不对,要小尾序的,其实不太明白这个意思,查了一下资料。

PHP里的代码也就这样了:
$content = iconv('UTF-8', 'UTF-16', $content);


从某篇文章发现这样的东西:
from_to($string, 'UTF-16le', 'UTF-8');


这说明了有其它的UTF-16的编码方式,我们看看维基的说明《UTF-16》:
引用
UTF-16是Unicode的其中一个使用方式。 UTF是 Unicode/UCS Transformation Format,即把Unicode转做某种格式的意思。

UTF-16的大尾序和小尾序储存形式都在用。一般来说,以Macintosh制作或储存的文字使用大尾序格式,以Microsoft或Linux制作或储存的文字使用小尾序格式。

字符“朱”:
UTF-16LE 小尾序  31 67
UTF-16BE 大尾序  67 31


PHP稍微修改一下就对了:
$content = iconv('UTF-8', 'UTF-16le', $content);


另外有这么个代码:UTF-8 to Code Point Array Converter in PHP
把字符都转换成代表的数字了,目前不知道什么用途。。

另外,需要转换PC格式为Unix格式时,需要在转换Utf-16之前处理,否则会出现好多乱码的哦
$content = str_replace("\r\n", "\n", $content);
$content = iconv('UTF-8', 'UTF-16le', $content);

Tags: ,
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐