梳理unicode utf-8
来源:互联网 发布:青山水利计价软件 编辑:程序博客网 时间:2024/06/17 03:00
unicode是什么:
是一个字符集:character set
是各个国家各自开发不同的字符集编码之后(比如中国最早是GB2312),国际标准化组织internationalStandardization organization(ISO)为了统一地球上所有的语言字符到一个字符集编码中去。设计了UCS,可以理解为universal character set,再简化一点可以当它是universal code,即unicode
为了统一,并且表示很多的字符。规定所有都必须用两个字节表示。
8位的也需要扩展为16位。(所以对于英文符号来说,高8位永远都是0)、
这英文文本就不干了,这样不就浪费了一倍的空间来保存文本吗?
16位需要两个8位来存储。这就衍生出了一个概念。“字符”
一个字符是两个字节。
由上我们看出,unicode有两个问题:
1、空间浪费
2、无法确定几个字节表示一个字符。
接下来先讲一下unicode在互联网出现后,由传输方式的不同衍生出的不同版本UTF。
UTF(UCS Transfer Format)定义了一次传输几位数据,UTF-8就是每次8个位传输,而UTF-16就是每次16个。
UTF-8最大的一个特点,就是它是一种变长的编码方式。
它可以用1~4个字节来表示,通过某些规则我们可以看出每个字符用了多少个字节。
具体的规则可以直接读图
最后简洁概括:
Unicode is charset。
UTF-8 is encoding。
0 0
- 梳理unicode utf-8
- Unicode UTF-8 UTF-16
- UNICODE,UTF-8,UTF-16
- Unicode(UTF-8, UTF-16)
- Unicode(UTF-8, UTF-16)
- Unicode,UTF-8,UTF-16,UTF-32
- unicode,utf-8,utf-16,utf-32
- UTF-8和Unicode
- Unicode 与 UTF-8
- unicode 和 UTF-8
- Unicode 和 UTF-8
- Unicode UTF-8
- Unicode和utf-8
- unicode和utf-8
- UTF-8 转 Unicode
- ASCII Unicode UTF-8
- Unicode & UTF-8
- unicode、utf-8、ansi
- [BZOJ3813][清华集训2014]奇数国(数论+bit)
- 里氏替换七大原则
- C++string类常见用法(一)
- S2 类和继承
- Java中Inputstream与Reader的区别
- 梳理unicode utf-8
- 面向对象七大原则
- 【GraphView】GraphView用户手册翻译——查询、插入、删除
- C#七大设计原则之里氏替换原则
- FunDA(12)- 示范:强类型数据源
- Java死锁范例以及如何分析死锁
- Java 中BufferedReader & InputStreamReader 用法
- Android继承式UI界面布局设计
- 拜占庭问题与两军问题