字符编码:ANSI和ASCII区别、Unicode和UTF-8区别

转自:https://blog.csdn.net/dongchongyang/article/details/52484794

ANSI和ASCII区别

ANSI码(American National Standards Institute)

美国国家标准学会的标准码


ASCII码(America Standard Code for Information Interchange)美国信息交换标准码
是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

可以认为是不同的东西!
ANSI码仅在前126个与ASCII码相同。

在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码;在英文Windows操作系统中,ANSI 编码代表 ASCII编码;在繁体中文Windows操作系统中,ANSI编码代表Big5;在日文Windows操作系统中,ANSI 编码代表 Shift_JIS 编码。



Unicode和UTF-8区别

Unicode is charset。
UTF-8 is encoding。

unicode是一个字符集,utf8是在这个字符集基础上的一种具体的编码方案为更好的存储和传输,其他还有 UTF-16,UTF-32 等。

ASCII码跟Unicode没有本质的区别。只不过Unicode表示范围比ASCII大。ASCII可以表示127个英文字母,其中每个英文字母都有一个十进制编码,并且通过这个十进制编码转化成二进制数(编码)存入到内存当中(占1字节)。
而在Unicode中,英文字母的编码与其在ASCII中没有不同。只是Unicode每个字符占2个字节,于是转化为二进制时就变成‘000000 ASCII’。
同时Unicode支持中文字符以及其他字符的表示。这种非ASCII字符占用的内存更多一些。
而UTF-8则是在Unicode的基础上进行的再编码。其中对于字母的编码与Unicode和ASCII一致。
文本文档是用UTF-8编码保存的。这样可以最大限度的节省空间。但是当你对这个文本文档进行操作的时候,计算机是先把UTF-8转化为Unicode然后放到内存中,让用户进行操作,操作完成后在内存中还是Unicode模式。当你需要保存的时候在转化为UTF-8格式保存(节省空间)。


猜你喜欢

转载自blog.csdn.net/qq_16334327/article/details/80389964