总是被编码的一些类型弄的团团转,大多数情况下是蒙的,今天对这一块做下总结.
ASCII:
文本编码的基础,0x00-0x7F的范围.
ANSI:
这些使用1到4个字节来表示字符的各种延伸编码方式(比如GBK,GB2312(中国出台的)),称为ANSI编码(在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码;在繁体中文Windows操作系统中,ANSI编码代表Big5;在日文Windows操作系统中,ANSI 编码代表 Shift_JIS 编码).记事本中默认使用的是ANSI编码.
特点: 不同的ANSI编码之间不兼容. 0x00-0x7F之间字符只占用一个字节.
UNICODE:
有两个标准UCS-2和UCS-4,前者是两个字节代表一个字符,后者是四个字节.与这个标准对应的存储方式UTF(Unicode Transformation Format)分别是UTF-16和UFT-32.(更详细的分为大小端,通过BOM来标志)
上述两种方式对于纯ASCII文件中会造成浪费,后来又定义了UFT-8的方式.通过第一个字节的范围就知道编码的字节数,即节省了内存,也能保证原有的字符表示容量.
原文:https://www.cnblogs.com/Stephen-Qin/p/12493878.html