ASCII & GBK & Unicode 编码

ASClI (美国信息交换标准代码)

标准ASCII使用1个字节存储一个字符。首位是0。总共可表示128个字符。对美国人来说完全够用。

GBK (汉字编码字符集)

GBK中一个中文字符编码成两个字节的形式存储。首位是1,包含了2万多个汉字等字符。注:GBK兼容ASClI字符集。

解码的时候,按字节从前往后,如果第一位是1,代表汉字字节,则会和其后的字节一起作为一个整体进行解码;如果是0,代表ASCII字符,只对改字节进行解码。

Unicode字符集

Unicode是国际组织制定的,可以容纳世界上所有文字、符号的字符集。UTF-32使用4个字节表示一个字符。奢侈!占存储空间。UTF-8采取可变长编码方案,共有1,2,3,4个字节四个长度区。

UTF-8

英文字符、数字等只占1个字节(兼容标准ASCII编码)汉字字符占用3个字节。

UTF-8设计了一套前缀码,用于区分ASClI,汉字或其他字符。

乱码情况

当编码和解码字符集不一致时有可能出现乱码。但很多字符集兼容了ASCII编码,英文和数字一般不会乱码。

由GBK编码的“我”,很难满足UTF-8规则的1110或10开头,因此形成乱码。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值