ANSI(全称:American National Standards Institute,中文:美国国家标准学会),不同的国家和地区制定了不同的标准,由此产生了GB2312、GBK、Big5、Shift_JIS等各自的编码标准,这些使用1至4个字节来代表一个字符的各种汉字延伸编码方式,称为ANSI编码。
在简体中文Windows操作系统中,ANSI编码代表GBK编码;在日文Windows操作系统中,ANSI编码代表Shift_JIS编码。不同ANSI编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段ANSI编码的文本中。当然对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符,这一点是ASNI编码与Unicode编码之间最大也最明显的区别。
中文名ansi编码
外文名American National Standards Institute
定义各种外文字符延伸编码方式
特点0x80~0xFF多个字节来表示
bug重新打开时将是乱码
中文美国国家标准学会
简介不同ANSI编码之间互不兼容
说明不同的国家和地区制定了不同标准
产生目的使计算机支持更多语言
全称美国国家标准学会
简介ANSI码(American National Standards Institute),中文:美国国家标准学会的标准码。
为使计算机支持更多语言,通常使用0x80~0xFF范围的2个字节来表示1个字符。比如:汉字'中'在中文操作系统中,使用[0xD6,0xD0]这两个字节存储。对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符。这一点是ANSI编码与Unicode(UTF-16)编码之间最大也最明显的区别。
比如“A君是第131号”,在ANSI编码中,占用12个字节,而在Unicode(UTF-16)编码中,占用16个字节。因为A和1、3、1这4个字符,在ANSI编码中只各占1个字节,而在Unicode(UTF-16)编码中,是需要各占2个字节的。
ANSI关于GBK编码的BUG很多细心的人会发现,新建一个空的文本文件,用记事本打开(必须是Windows自带的记事本),只输入“联通”二字保存关闭(输入“1联通”也是联通显示的也是乱码),再重新打开时将是乱码。
当txt文档中一切字符都在C0≤AA(第一个字节)≤DF80≤BB(第二个字节)≤BF这个范围时,notepad都无法确认文档的格式,自动依照UTF-8格式来解码。而"联通"就是C1 AA CD A8,刚好在上面的范围内,所以不能正常显现。
记事本默认是以ANSI编码保存文本文档的,而正是这种编码存在的bug招致了上述怪现象。假如保存时选择Unicode、Unicode (Big Endian)、UTF-8编码,就正常了。此外,假如以ANSI编码保存含有某些特别符号的文本文档,再次打开后符号也会变成英文问号。
美国国家标准学会American National Standards Institute(ANSI——美国国家标准学会)由公司、政府和其他成员组成的自愿组织。它们协商与标准有关的活动,审议美国国家标准,并努力提高美国在国际标准化组织中的地位。此外,ANSI使有关通信和网络方面的国际标准和美国标准得到发展。ANSI是IEC和ISO的成员之一。[1]
参考资料本文发布于:2023-06-01 08:59:22,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/92/183157.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:ansi编码(美国国家标准学会).doc
本文 PDF 下载地址:ansi编码(美国国家标准学会).pdf
留言与评论(共有 0 条评论) |