unicode和utf-8之间的关系
2016-05-16 14:25
375 查看
unicode与utf-8之间的关系类似于中文和行书、楷书之间的关系。
unicode规定了编码的样式。用两个字节和代表一个字符。但是呢,在存储的时候,并不会一个字符就占据两个字节的大小长度。因为这样做会大大浪费磁盘的中间大小。比如,前8位都是0的。如果存8个0就太浪费了。类似UTF-8这种只是对unicode的一种存储方式。当然也可以完全按unicode来存储。只是浪费了一点。
可以这样理解。字符串是由字符构成,字符在计算机硬件中通过二进制形式存储,这种二进制形式就是编码。如果直接使用 “字符串↔️字符↔️二进制表示(编码)” ,会增加不同类型编码之间转换的复杂性。所以引入了一个抽象层,“字符串↔️字符↔️与存储无关的表示↔️二进制表示(编码)” ,这样,可以用一种与存储无关的形式表示字符,不同的编码之间转换时可以先转换到这个抽象层,然后再转换为其他编码形式。在这里,unicode 就是 “与存储无关的表示”,utf—8
就是 “二进制表示”。
unicode规定了编码的样式。用两个字节和代表一个字符。但是呢,在存储的时候,并不会一个字符就占据两个字节的大小长度。因为这样做会大大浪费磁盘的中间大小。比如,前8位都是0的。如果存8个0就太浪费了。类似UTF-8这种只是对unicode的一种存储方式。当然也可以完全按unicode来存储。只是浪费了一点。
可以这样理解。字符串是由字符构成,字符在计算机硬件中通过二进制形式存储,这种二进制形式就是编码。如果直接使用 “字符串↔️字符↔️二进制表示(编码)” ,会增加不同类型编码之间转换的复杂性。所以引入了一个抽象层,“字符串↔️字符↔️与存储无关的表示↔️二进制表示(编码)” ,这样,可以用一种与存储无关的形式表示字符,不同的编码之间转换时可以先转换到这个抽象层,然后再转换为其他编码形式。在这里,unicode 就是 “与存储无关的表示”,utf—8
就是 “二进制表示”。
相关文章推荐
- 记一次UDE-00008,ORA-06512错误,备份中断
- android切换buck构建项目
- DataTables与Spring MVC、Spring Data JPA的集成
- java URL根据相对路径获取绝对路径
- SQL语句之按in排序
- 目标检测的图像特征提取之(二)LBP特征
- 10031---高并发 sql 生成不重复编号 (订单号) & 如何在高并发分布式系统中生成全局唯一Id
- L2-005. 集合相似度 unique的应用 去重 vector
- iOS触摸手势知识介绍(UITouch & UIGestureRecognizer)
- 服务器监控(包括性能指标与web应用程序)
- 【SSH网上商城项目实战17】购物车基本功能的实现
- opencv检测四边形/多边形
- 第12周项目-复数类中的运算符重载(3)(double)
- 各个平台的mysql重启命令
- 3305: Hero In Maze II (优先队列+bfs)
- 知道这20个正则表达式,能让你少写1,000行代码
- 将C#文档注释生成.chm帮助文档
- 创建响应式布局--显示表格数据,使用测量单位,使用媒体查询
- javascript图片懒加载与预加载的分析
- 堆(Heap)的实现