ASCII ANSI Unicode UTF-8

1 ASCII 码

全名是 American Standard Code for Information Interchange, 叫做 “美国信息交换标准码”。ASCII 码,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。标准的ASCII 码只能表示128个字符

2 ANSI 码

ANSI 编码是一种多字节字符集, 是对 ASCII 码的拓展:ANSI 编码用 0x00-0x7f (即十进制下的 0 到 127)范围的 1 个字节来表示 1 个英文字符,超出一个字节的 0x0080~0xFFFF 范围来表示其他语言的其他字符。也就是说,ANSI 码仅在前 128(0-127)个与 ASCII 码相同,之后的字符全是某个国家语言的所有字符。中国制定了 GB2312(之前) , GBK编码(现在),用来把中文编进去。另外,日本把日文编到 Shift_JIS 里,韩国把韩文编到 Euc-kr 里,各国有各国的标准。不同语言之间的 ANSI 码之间不能互相转换,这就会导致在多语言混合的文本中会有乱码。

3 Unicode 编码

为了解决不同国家 ANSI 编码的冲突问题,Unicode 应运而生:如果全世界每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是 Unicode,就像它的名字都表示的,这是一种所有符号的编码。

注: Unicode只是一个编码规范,UTF-8、UTF-16和UTF-32才是具体的实施方式
UTF规定:如果一个符号只占一个字节,那么这个8位字节的第一位就为0。如果为两个字节,那么规定第一个字节的前两位都为1,然后第一个字节的第三位为0,第二个字节的前两位为10,然后如果是三个字节的话,那么第一个字节的前三位为111,第四位为0,剩余的两个字节的前两位都为10。

(1) UTF-8

UTF-8用8的倍数来表示一个字符,也就是说在UTF-8编码格式中,一个字符可以是8位(一个字节)、16位(两个字节)、24位(三个字节)、32位(四个字节)

(2) UTF-16

UTF-16则可以是16位(两个字节)、32位(四个字节)

(3) UTF-32

所有字符都是32位(即四个字节)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值