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字符集和编码方式标准,现在我们就可以直接使用字符来告诉计算机了。

目录
相关文章
|
存储 自然语言处理 C++
Unicode编码
Unicode编码
747 4
|
编解码 Linux
Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二)
Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二)
2448 0
|
应用服务中间件 nginx
『Nginx』Nginx实现同端口代理多项目 及 同项目多端口配置
📣读完这篇文章里你能收获到 - Nginx实现同端口代理多项目 - Nginx实现同项目多端口配置
1858 0
『Nginx』Nginx实现同端口代理多项目 及 同项目多端口配置
|
消息中间件 监控 Java
微服务架构深入理解 | 技术栈
微服务架构深入理解 | 技术栈
375 0
|
12月前
|
人工智能 JavaScript 数据可视化
深入探索 Flux Tools 在 AI 图像创作中的强大功能
Flux Tools 是由 Black Forest Labs 开发的一套先进 AI 图像编辑工具,集成了修补、扩展、深度映射和边缘检测等功能,为用户提供高精度的图像控制能力,广泛应用于照片编辑、数字艺术创作和设计工作等领域,极大提升了创作效率与自由度。
ly~
|
并行计算 算法 API
SDL 图形库优化对硬件要求有何变化
SDL(Simple DirectMedia Layer)图形库是一个跨平台的多媒体库,适用于多种操作系统和设备。优化后的SDL 2.0对硬件的要求有所提升,特别是显卡性能。优化包括提高渲染效率、利用硬件加速功能、支持高效解码算法等,以增强图形处理能力和流畅度。同时,优化后的SDL对输入设备的交互体验要求更高,需确保键盘、鼠标、触摸屏等设备的顺畅操作。尽管如此,SDL仍保持良好的兼容性,能在较低配置的硬件上运行,只是性能表现会有所差异。
ly~
815 4
|
缓存 Java 数据库连接
构建高效数据库交互:Hibernate与JPA的性能优化策略
【6月更文挑战第25天】在大数据时代,优化Hibernate和JPA的数据库性能至关重要。本文探讨了优化策略:正确配置映射以减少冗余,利用JPQL/HQL提升查询效率,避免全字段选择,使用索引和分页,有效利用缓存策略,以及管理事务以平衡资源锁定。示例代码展示了分页查询的实现,以防止性能下降。
337 0
|
自然语言处理 Unix Linux
字符编码问题之UTF-16和UCS-2的关系如何解决
字符编码问题之UTF-16和UCS-2的关系如何解决
279 1
|
Linux Shell Python
linux服务器python2升级安装python3.7环境
linux服务器python2升级安装python3.7环境
525 0
|
前端开发 Python
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。