日期:2014-05-17 浏览次数:21580 次
http://una.soragoto.net/topics/13.html
googling article 简单翻译
?
?
经常见到的几个字符集,总结区别如下。
?
Windows 标准字符集不是Shift_JIS,而是Windows-31J
?
Shift_JIS是日文的一种字符集,Microsoft的MS-DOS采用Shift_JIS
作为日语标准编码,并命名为CP932(同理GBK相应为CP936,可以在Windows的cmd.exe中输入chcp查看)
?
开始,Microsoft允许各OEM厂商在CP932的基础上进行扩展,所以造成了各个OEM厂商的字符集都不一样。
?
后来,截止到Windows3.1日语版,Microsoft限制了各OEM厂商对字符集的扩展。而当时,
日本计算机市场基本被IBM和NEC占领,他们都是在CP932的基础上进行的扩展,所以日语的标准
字符集就变成了CP932了,IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)
把它命名为Windows-31J.
?
在Java中,为了区分IBM的CP932和Windows-31J,所以用MS932来表示了。
?
上图中可以看出CP932、MS932、Windows-31J都是同一个东西
但他们和Shift_JIS是不同的,不过大部分文字都可以同样使用。
在程序中,一般,适用Windows-31J的地方如果使用Shift_JIS可能会有乱码,
但反过来,适用Shift_JIS的地方用Windows-31J就没问题