日期:2014-05-16  浏览次数:20731 次

一个编码的问题
问大家一个unicode编码的问题,用Fiddler截获一个json格式的包,在textview中他的内容是ASCII码格式的也就是\u2345这样的格式,我只道\u的实际是unicode码,所以在json中查看,可以查看到正常的内容,但是这次我多想了一点,我看了看这个包的二进制表示,以其中的一个字符为例,比如 在 textview中用ascii表示的时候是\u5b8b,表示一个unicode字符,那么在二进制码中查看对应的是 5c 75 35 62 38 62 也就是说一个字符用一个字节表示那么总共使用了6个字节,而这个字符对应的是宋,也就是说一个汉字 '宋' 在实际存储中使用了6个字节是吗,我以前一直以为unicode就是使用四个字节,到底是我理解错了还是原来的认为错了?
还有个问题是,像我们使用的记事本,能够自动识别编码方式吗,比如我在一个编辑器上用utf8编码了一个汉字,那么这个文件里只有该汉字对应的二进制数,换到随便一个记事本打开,记事本从哪里断定我们使用的编码方式是utf8呢?
编码 Unicode 存储 二进制 JSON

------解决方案--------------------
如果是utf-8的话有可能是6个字节
utf-8吧unicode编码为1到3个字节
------解决方案--------------------
unicode是字符集
utf-8是编码方式
两个概念