文件编码 ANSI、GBK、GB2312、MS936、MS932、SJIS、Windows-31,EUC-JP 等等之间的区别与联系
■前言
暂且不谈 UTF-8,Unicode (UTF-8只是Unicode的一种实现方式)
https://blog.****.net/sxzlc/article/details/106084402
关于文件编码的描述,有很多种描述方式
中文:ANSI,GBK,GB2312, MS936
日文:ANSI, MS932,SJIS(SHIFT JIS),Windows-31J,EUC-JP,ISO-2022-JP
英文:ANSI, ASCII,MS437
■分步说明1
先理解什么是 ANSI
我们使用记事本保存文件时,都有这么一个选项。
不论你的系统时中文系统,或者日文系统。
ANSI 是 的缩写 (美国国家标准学会(American National Standards Institute: ANSI))
ANSI是一种字符代码,为使计算机支持更多语言,
通常使用 0x00~0x7f 范围的1 个字节来表示 1 个英文字符。
超出此范围的使用0x80~0xFFFF来编码
不同的国家和地区制定了不同的标准,由此产生了 GB2312、GBK、GB18030、Big5、Shift_JIS 等各自的编码标准。
也就是说,
・在中文系统中,使用ANSI保存,编码集是 GBK(MS936),
・在日文系统中,使用ANSI保存,编码集是 Shift_JIS(MS932)
即,对于不同语言来说,ANSI对应的编码是不同的 !!!
https://baike.baidu.com/item/ANSI/10401940?fr=aladdin
https://www.cnblogs.com/malecrab/p/5300486.html
ANSI对应的是 cmd 命令行中 chcp 的编码code。
这也是,为社么有的文件,我们使用chcp后,再次查看,就不再乱码的原因
■分步说明2
●GB2312与GBK的区别
・GB2312 :前面的一个字节(高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE,这样就可以组合出大约7000多个简体汉字了
・GBK: 不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,
GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。
https://blog.****.net/ldanduo/article/details/8203532
https://blog.****.net/sxzlc/article/details/7060611
●MS932,SJIS(SHIFT JIS),Windows-31J 之间的关系
●windows-31J
Shift_JIS 的文字集合基本是按照JIS X 0208规定的。
但实际上各个厂商各自进行扩展,包含了大量重复的、规格以外的文字。
因此Windows在本来的 Shift_JIS的文字集合之外,又增加了NEC扩展、IBM扩展所包含的文字。
这种规格和实际情况的分歧长期存在,随着windows-31J的规格化,混乱情况有所改善。
http://una.soragoto.net/topics/13.html
●SJIS(SHIFT JIS)
・它被命名为答Shift_JIS的原因,是它在放置全角字符时,要避开原本在0xA1-0xDF放置的半角假名字符。
・在微软及IBM的日语电脑系统中,即使用了这个编码表。这个编码表称为CP932。
http://charset.7jp.net/sjis.html
---
■分步说明3
●SJIS以外的日文编码
・EUC-JP是被Linux和Solaris广泛地使用的文字编码。
・ISO-2022-JP主要被Email使用的文字编码。 只使用7个bit,第8个bit不使用,所以不适合程序中的字符串处理,主要使用在网络中的数据交换中。
■知识扩展
・Solaris 是Sun Microsystems研发的计算机操作系统。它被认为是UNIX操作系统的衍生版本之一
Solaris [soʊˈlɛrɪs] 当然,sun被oracle收购后,已经是oracle的东西了。
・6个Unix的变种
http://blog.chinaunix.net/uid-20832381-id-1743740.html
===
SGI Irix、
IBM AIX、
Compaq Tru64 Unix、
Hewlett-Packard HP-UX、
SCO UnixWare、
Sun Solaris
===
・linux不是Unix,Unix是商业软件,Linux是开源的
https://blog.****.net/sxzlc/article/details/103652857