Unicode标准与其他编码规则

简介: Unicode标准与其他编码规则

Unicode标准与其他编码规则
世界上有很多的国家,用不同的字符,他们也要使用计算机,那ASCII编码就不够用了呀,怎么办呢?Unicode标准来了。
Unicode标准是一个由国际标准化组织(ISO)和国际电工委员会(IEC)共同制定的字符编码标准,旨在为所有现代文字和符号提供一个唯一的编码。
Unicode标准定义了一个称为“Unicode”的字符集,它包含了世界上几乎所有已知语言和文化中的字符。定期更新最新字符进来,这样就可以实现全球化了!
当然也要兼容ASCII呀,所以ASCII 字符(十进制0-127)在 Unicode 中具有相同的编码,所以‘a’还是‘97’哈。
Unicode标准定义了字符集,也定义了多种编码格式,如UTF-8、UTF-16、GBK(用于简体中文字符的编码方式)、GB2312等。
UTF-16是一种固定长度的编码方式,它总是使用 2 个字节来表示一个字符,除非是代理对,此时会使用 4 个字节。通常用于内部处理;
UTF-8是一种变长度的编码方式,可以根据字符的 Unicode 码点使用不同数量的字节进行编码。通常用于网络传输和文件存储。
Unicode 码点(code point)是用来唯一标识 Unicode 字符的数值,这个数值是十进制的。Unicode 码点从 U+0000(十六进制)到 U+10FFFF(十六进制),共有 1,114,112 个不同的码点。好吧,又把十进制转成了十六进制来表示,反正我是记不住。
将十进制数转换为十六进制数的过程称为十六进制表示。这个过程可以通过以下步骤完成:
分组:将十进制数从右到左每四位一组进行分组。如果数字小于四位,可以在前面添加零直到它成为四位数。
转换:对于每一组四位数,将其转换为对应的十六进制数。十六进制数使用0-9和A-F(大写或小写)来表示。
0-9的十进制数直接对应到十六进制数。
10-15的十进制数对应到十六进制数A-F。
组合:将转换后的十六进制数按照从左到右的顺序组合起来,得到最终的十六进制数。
例如,将十进制数1234转换为十六进制数:
分组:1234已经是四位数,所以不需要分组。
转换:1234(十进制)= 302(十六进制),因为1234除以16等于76余18,所以十六进制数是302。
组合:组合后的十六进制数是302。
也就是说一个Unicode码点对应一个十进制数字,只不过因为字符的编码都是两个字节,就转换成了十六进制显示,比如“我爱你”在UTF-8编码中,三个字对应的十六进制和十进制编码如下:
“我”字的UTF-8编码: 十六进制:E4 BD A0 十进制:228 189 160
“爱”字的UTF-8编码: 十六进制:E5 A5 BD 十进制:229 165 189
“你”字的UTF-8编码: 十六进制:E4 BD A5 十进制:228 189 165
这个也不用记,了解即可,需要换算直接使用工具就行。
总之,有了Unicode字符集和编码方式标准,现在我们就可以直接使用字符来告诉计算机了。

目录
相关文章
|
2天前
|
文件存储
Unicode标准与其他编码规则
Unicode标准与其他编码规则
14 6
|
1月前
|
存储 自然语言处理
字符编码问题之Unicode传统字符编码方案中的语言编码冲突如何解决
字符编码问题之Unicode传统字符编码方案中的语言编码冲突如何解决
30 1
|
1月前
字符编码问题之GB2312编码设计来避免与ASCII字符编码冲突如何解决
字符编码问题之GB2312编码设计来避免与ASCII字符编码冲突如何解决
38 0
|
1月前
字符编码问题之GBK确保与ASCII码的兼容性如何解决
字符编码问题之GBK确保与ASCII码的兼容性如何解决
32 0
|
4月前
再见手动编码,标准自动化编码规则来帮忙!
标准管理员小S面临数据标准编码管理的挑战:编码格式不统一、编码值不可读活相关性差,手动管理耗时易出错。Dataphin新推出“标准编码规则”功能,可以实现一次配置批量生成编码,并通过自增序列、固定字符串和所属标准集编码的组合,保证编码相关性和灵活性,同时提供了编码规则变更后的批量订正功能,大大简化管理工作。小S对此表示高度满意。
113 0
|
4月前
扩展ASCII
扩展ASCII
151 2
|
XML JSON 算法
Unicode 14 标准发布
Unicode 14 标准发布
86 0
|
存储 Windows
“浅入深处“编码历史,字符串编码(ASCII, GBK, ANSI, Unicode, UTF-8编码),为什么记事本默认ANSI编码,Unicode和UTF8有什么区别
“浅入深处“编码历史,字符串编码(ASCII, GBK, ANSI, Unicode, UTF-8编码),为什么记事本默认ANSI编码,Unicode和UTF8有什么区别
117 0
错误: 编码GBK的不可映射字符
错误: 编码GBK的不可映射字符
127 0