0xAA55 发表于 2014-2-3 20:33:05

【文字编码】乱码“锟斤拷”产生的原因

我刚才用谷歌浏览器搜索“辛苦了用日语怎么说”,然后,嗯,一开始很正常,我学到的短语是“お疲れ様”、“おつかれさま”。
但是我接着浏览的时候不知道怎么回事(没回过神来),看到的结果是“日语说锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷”
于是我就百度了一下(不谷歌是为了免得谷歌又给我“锟斤拷锟斤拷锟斤拷”),大致了解了这种乱码出现的原因。
请看相关资料:
http://baike.baidu.com/link?url=_wQsT1iAdLqHDW6etZLdFNcjdBd-eufqgCzOK2gO06uvH4AbRzfhvWlJtIeJi0s_rh4iCovDO9SfkOXVtaPHA_
懒得看资料的可以看我这里写的。
首先讲到以前用到的文字编码是UNICODE、ANSI等。UNICODE是用WORD数组来保存字符串,相比较而言ANSI用BYTE数组保存字符串能表示的文字就少很多。但是即使这样,UNICODE也不能表示所有的文字。UNICODE的官方做法是用一些占位符来表示这些文字,像这样:U+FFFD。那么U+FFFD的字符用UTF-8编码出来的结果是'\xef\xbf\xbd'。而如果有一定数量的这种字符(U+FFFD)组成字符串,那么UTF-8编码出来的结果就是差不多这样的:'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd……',再把这样的UTF-8字符放到GBK、CP936、GB2312、GB18030编码的环境里显示的就是“锟斤拷锟斤拷锟斤拷锟斤拷”。
‘锟’= 0xEFBF
‘斤’= 0xBDEF
‘拷’= 0xBFBD

下面这张图。这个新闻看个蛋!我觉得“锟斤拷”这三个字可以用来当马赛克使。{:soso_e120:}



0xAA55 发表于 2014-12-30 17:22:40

不过“锟斤拷”听着很有节奏感……
页: [1]
查看完整版本: 【文字编码】乱码“锟斤拷”产生的原因