大家好,又见面了,我是你们的朋友全栈君。
ANSI和ASCII区别
NSI码(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 编码。
GBK和GB2312
GB2312,由中华人民共和国政府制定的,简体汉字编码规范,大陆所有计算机中的简体中文,都使用此种编码格式。与此对应的还有BIG5,是中华民国政府制定的,繁体汉字的编码规范,一般应用于海外计算机的繁体中文显示。所谓的繁体中文Windows,简体中文Windows,指的就是采用BIG5和GB2312编码格式的操作系统。这两种编码方式不兼容,如果使用一种编码的文本阅读器来读另一种编码的文本,就会出现乱码。比如在简体中文Windows上读BIG5编码的文件,就是乱码,反之亦然。使用简体浏览器浏览的时候,到了繁体中文网站,如果不改变码制,也是乱码。
GBK,又称GBK大字符集,简而言之就是将所有亚洲文字的双字节字符,包括简体中文,繁体中文,日语,韩语等,都使用一种格式编码,兼容所有平台的上的语言。GBK大字符集包含的汉字数量比GB2312和BIG5多,使得汉字兼容足够使用。
Unicode和UTF-8区别
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格式保存(节省空间)。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147252.html原文链接:https://javaforall.cn