如何查字符的编码

这里针对ASCII、UNICODE、UTF8三种编码方式简介一下。


ASCII编码,我们选择常用的GB2312字符集查找,相同的文字,不同的字符集对应的字符编码也不一样,我们以“道”字为例,在GB2312码表查找到如下

21 0 1 2 3 4 5 6 7 8 9
0   怠 耽 担 丹 单 郸 掸 胆 旦
1 氮 但 惮 淡 诞 弹 蛋 当 挡 党
2 荡 档 刀 捣 蹈 倒 岛 祷 导 到
3 稻 悼 道 盗 德 得 的 蹬 灯 登
4 等 瞪 凳 邓 堤 低 滴 迪 敌 笛
5 狄 涤 翟 嫡 抵 底 地 蒂 第 帝
6 弟 递 缔 颠 掂 滇 碘 点 典 靛
7 垫 电 佃 甸 店 惦 奠 淀 殿 碉
8 叼 雕 凋 刁 掉 吊 钓 调 跌 爹
9 碟 蝶 迭 谍 叠

“道”在21区,32位,所以它的区位码为2132,转换成16进制为1520。1520 + A0A0 = B5C0,最终B5C0就是“道”在ASCII编码GB2312字符集下的编码,在VS中赋值“道”给字符串,在内存中查看,它的值就是B5C0。 


UNICODE编码,“道”字查找码表为9040 + 14 - 1 = 9053,如下表所示,“道”的UNICODE字符在内存中就是9053。

000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F 
9000退CJK
9020 
9040 

UTF8编码,与UNICODE编码可以互相推算出来

道的UNICODE编码为9053,换算成二进制

1001 0000 0101 0011  

加上1110 0000 10 000000 10 000000

得到1110 1001 1000 0001 1001 0011 ,转换成16进制为e9 81 93,所以“道”的UTF8编码就是E98193。同理可以从UTF8反过来推算UNICODE编码。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值