博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符集
阅读量:5278 次
发布时间:2019-06-14

本文共 1015 字,大约阅读时间需要 3 分钟。

⼀些重要的字符集 不幸的是,这个世界太⼤了,不同的⼈制定出了好多种字符集,它们 表示的字符范围和⽤到的编码规则可能都不⼀样。我们看⼀下⼀些常 ⽤字符集的情况:

ASCII字符集 共收录128个字符,包括空格、标点符号、数字、⼤⼩写字⺟ 和⼀些不可⻅字符。由于总共才128个字符,所以可以使⽤1个 字节来进⾏编码,我们看⼀些字符的编码⽅式: 'L' -> 01001100(⼗六进制:0x4C,⼗进制:76) 'M' -> 01001101(⼗六进制:0x4D,⼗进制:77)

ISO 8859-1字符集 共收录256个字符,是在ASCII字符集的基础上⼜扩充了128 个⻄欧常⽤字符(包括德法两国的字⺟),也可以使⽤1个字节来 进⾏编码。这个字符集也有⼀个别名latin1。

GB2312字符集 收录了汉字以及拉丁字⺟、希腊字⺟、⽇⽂平假名及⽚假名字 ⺟、俄语⻄⾥尔字⺟。其中收录汉字6763个,其他⽂字符号 682个。同时这种字符集⼜兼容ASCII字符集,所以在编码⽅ 式上显得有些奇怪: 如果该字符在ASCII字符集中,则采⽤1字节编码。 否则采⽤2字节编码。 这种表示⼀个字符需要的字节数可能不同的编码⽅式称为变⻓ 编码⽅式。⽐⽅说字符串'爱u',其中'爱'需要⽤2个字节进 ⾏编码,编码后的⼗六进制表示为0xCED2,'u'需要⽤1个字节进⾏编码,编码后的⼗六进制表示为0x75,所以拼合起来就 是0xCED275。

⼩贴⼠: 我们怎么区分某个字节代表⼀个单独的字符还是代表某个字符 的⼀部分呢?别忘了`ASCII`字符集只收录128个字符,使 ⽤0~127就可以表示全部字符,所以如果某个字节是在0 ~127之内的,就意味着⼀个字节代表⼀个单独的字符,否则 就是两个字节代表⼀个单独的字符。

GBK字符集 GBK字符集只是在收录字符范围上对GB2312字符集作了扩充, 编码⽅式上兼容GB2312。

utf8字符集 收录地球上能想到的所有字符,⽽且还在不断扩充。这种字符 集兼容ASCII字符集,采⽤变⻓编码⽅式,编码⼀个字符需要 使⽤1~4个字节,⽐⽅说这样: 'L' -> 01001100(⼗六进制:0x4C) '啊' -> 111001011001010110001010(⼗六进 制:0xE5958A)

转载于:https://www.cnblogs.com/hanmengya/p/10991644.html

你可能感兴趣的文章
[luogu2486] [SDOI2011]染色
查看>>
docker私有仓库-harbor
查看>>
golang 时间戳 时间格式化 获取当前时间 timestamp 计算时间差
查看>>
读书笔记 - 《联盟:互联网时代的人才变革》
查看>>
Vue 从入门到进阶之路(七)
查看>>
线段树(单点更新) POJ 2886 Who Gets the Most Candies?
查看>>
递推DP Codeforces Round #260 (Div. 1) A. Boredom
查看>>
DP+矩阵快速幂 HDOJ 5318 The Goddess Of The Moon
查看>>
后缀数组 POJ 1743 Musical Theme
查看>>
编译原理
查看>>
final修饰的变量是引用不能变还是对象的内容不能变?
查看>>
SSH协议
查看>>
iOS UITableView划动删除的实现
查看>>
python学习_解释器接口模块:sys
查看>>
JS闭包导致循环给按钮添加事件时总是执行最后一个
查看>>
360手机权限开启方法
查看>>
类别category 总结
查看>>
6.腾讯微博Android客户端开发——换取Access Token
查看>>
C# 常用扩展方法
查看>>
HDU-寻找最大值 递推求连续区间
查看>>