当前位置 博文首页 > 小龙狗的博客:ANSI编码简述

    小龙狗的博客:ANSI编码简述

    作者:[db:作者] 时间:2021-07-09 21:56

    前情提要

    美国人最先用电脑,发明了足够他们使用的 ASCII 编码(127个,1 个字节都没用完)。后来欧洲人发现 127 个不太够,把 ASCII 没用完的位置用上了(拓展字符集),还叫 ASCII 。再后来中国想用电脑打汉字,显然 256 个就太不够了,于是产生了 GB2312 ,GBK ,GB18030以及 港澳台地区的 Big5 。此外日本也有自己的 Shift_JIS。

    ANSI 编码

    为了保证 Windows 在不同语言文字的国家都能用。微软采用了标准代码页 (Code Page,代码页是字符集编码的别名,也叫内码表) 的方法,把全世界的编码方式统一编号,在不同的地方采用对应地方的编码方式,微软把它称为 ANSI 编码。比如在简体中文操作系统中ANSI编码默认指的是GB系列编码(GB2312、GBK、GB18030);在繁体中文操作系统中ANSI编码默认指的是Big5编码(港澳台地区使用的繁体汉字编码);在日文操作系统中ANSI编码默认指的是 Shift_JIS 编码。

    需要注意的是 ANSI 编码只是一种叫法,它通常指的是 Windows code pages,而非其字面意思的 ANSI (American National Standards Institute,美国国家标准学会)。

    在 Windows 系统中,为了适应世界上不同地区用户而设计了区域(Locale)设置的功能。Locale 是指特定于某个国家或地区的一组设定,包括代码页,以及数字、货币、时间和日期的格式等。可以用 chcp 命令获得当前的代码页设置。

    D:\>chcp
    活动代码页: 936
    

    代码页 936 就是简体中文 GBK 编码。

    参考

    [1]. 刨根究底字符编码之七——ANSI编码与代码页
    https://zhuanlan.zhihu.com/p/27136737
    [2]. ANSI编码和标准代码页(code page)
    https://blog.csdn.net/qlexcel/article/details/84564024
    [3]. ANSI是什么编码?
    https://blog.csdn.net/imxiangzi/article/details/77370160

    cs