文件编码 ANSI、GBK、GB2312、MS936、MS932、SJIS、Windows-31,EUC-JP 等等之间的区别与联系

■前言

暂且不谈 UTF-8,Unicode (UTF-8只是Unicode的一种实现方式)

https://blog.csdn.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、GBK、GB2312、MS936、MS932、SJIS、Windows-31,EUC-JP 等等之间的区别与联系

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。

文件编码 ANSI、GBK、GB2312、MS936、MS932、SJIS、Windows-31,EUC-JP 等等之间的区别与联系

这也是,为社么有的文件,我们使用chcp后,再次查看,就不再乱码的原因

 

■分步说明2

●GB2312与GBK的区别
・GB2312 :前面的一个字节(高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE,这样就可以组合出大约7000多个简体汉字了
・GBK: 不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,
            GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。

https://blog.csdn.net/ldanduo/article/details/8203532

https://blog.csdn.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

文件编码 ANSI、GBK、GB2312、MS936、MS932、SJIS、Windows-31,EUC-JP 等等之间的区别与联系

●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.csdn.net/sxzlc/article/details/103652857