ANSI 与 UTF-8总长DR:如果您只打算使用英文字符(西方/美国系统),则 ANSI 和 UTF-8 之间没有区别。如果您不想要其他语言的表情符号和字符?要损坏,您应该使用 UTF-8。什么是 ANSI?ANSI 编码是一个通用术语,用于指代系统上的标准代码页。在美国和西欧系统上,它更恰当地称为 Windows-1252。(它可以表示其他系统上的某些其他 Windows 代码页。这本质上是 ASCII 字符集的扩展,因为它包括所有带有额外 128 个字符代码的 ASCII 字符。

这种差异是由于“ANSI”编码是 8 位而不是 ASCII 那样的 7 位(ASCII 现在几乎总是编码为 8 位字节,MSB 设置为 0)。“ANSI”这个名字用词不当,因为它不对应于任何实际的 ANSI 标准,但这个名字已经被保留下来了。ANSI 编码不支持表情符号和世界语言的大多数字符!什么是 UTF-8?UTF-8 是一种用于电子通信的可变宽度字符编码。该名称由 Unicode 标准定义,源自 Unicode(或通用编码字符集)转换格式 8 位。UTF-8 能够使用一到四个一字节(8 位)代码单元对 Unicode 中的所有 1,112,064 个有效字符代码点进行编码。
具有较低数值的代码点(往往更频繁地出现)使用较少的字节进行编码。它旨在向后兼容 ASCII:Unicode 的前 128 个字符(与 ASCII 一一对应)使用与 ASCII 具有相同二进制值的单个字节进行编码,因此有效的 ASCII 文本也是有效的 UTF-8 编码的 Unicode。由于将非 ASCII 代码点编码为 UTF-8 时不会出现 ASCII 字节,因此 UTF-8 可以在解释某些 ASCII 字符的大多数编程和文档语言中安全使用。
UTF-8 是万维网和互联网技术的主要编码。它支持表情符号和几乎所有世界语言的字符。什么是 UTF-8-BOM?UTF-8 BOM(字节顺序标记)是文本流(0xEF、0xBB、0xBF)开头的字节序列,它允许阅读器(软件)更可靠地猜测文件是用 UTF-8 编码的。从文件/流中提取字符串时,必须忽略这些字节(如果存在)。如果使用得当,BOM 对用户是不可见的。BOM 的使用是可选的。UTF-8 与 UTF-16 与 UTF-32UTF-8:变宽编码,向后兼容 ASCII。ASCII 字符(U+0000 到 U+007F)占用 1 个字节,代码点 U+0080 到 U+07FF 占用 2 个字节,代码点 U+0800 到 U+FFFF 占用 3 个字节,代码点 U+10000 到 U+10FFFF 占用 4 个字节。UTF-16:可变宽度编码。代码点 U+0000 到 U+FFFF 占用 2 个字节,代码点 U+10000 到 U+10FFFF 占用 4 个字节。Microsoft Excel 在 CSV 文件中使用 UTF-16。UTF-32:固定宽度编码。所有代码点都占用 4 个字节。一个巨大的内存占用者,但作速度很快(通过软件)。很少使用。?名字UTF-8UTF-8-BOMUTF-16BEUTF-16LEUTF-32BEUTF-32LE最小代码点0000最大的代码点10FFFF代码单元大小8位16 位32位字节顺序不适用BOM大端小端序每个字符的字节数最少124每个字符的最多字节数UCS-2 和 UCS-4 怎么样?UCS-2 是一种较旧的方案,后来被认为已经过时,并被更新、更强大的 UTF-16 所取代。UCS-4 和 UTF-32 是相同的,只是 UTF-32 标准具有额外的 Unicode 语义。结论如果你不想要外语的表情符号和字符为了损坏,您应该使用 UTF-8 以确保安全(除非需要使用其他编码)。

