美文网首页
Unicode与UTF-8

Unicode与UTF-8

作者: NapoleonY | 来源:发表于2018-05-16 11:25 被阅读7次

Unicode

Unicode是一个国际标准,用于文本的编码和表示。它使得可以用标准格式来表示来自任意语言的几乎所有字符,并能够对文本文件和网页这样的外部资源进行读写操作。

Unicode标量

Unicode标量是Unicode中对应字符的唯一21位数字。例如U+0061表示小写的拉丁字母"a"U+1F425表示小鸡表情🐥

字符串的Unicode表示形式

当一个Unicode字符串被写进文本文件存储时,字符串中的Unicode标量会用Unicode定义的几种编码格式:UTF-8,UTF-16,UTF-32。每一个字符串中的小块编码被称为编码单元(code units)

  • UTF-8:编码字符串为8位的编码单元
  • UTF-16:编码字符串为16位的编码单元
  • UTF-32:编码字符串为32位的编码单元

UTF-8编码规则

UTF-8编码规则为:

  1. 单子节的字符,字节的第一位为0,对于英语文本,UTF-8只占用一个字节,同ASCII码表一样

  2. n个字节的字符(n>1),第一个字节的前n位为1,第(n+1)位为0,后面的字节前两位为10,这n个字节的其余空位填充该字符的Unicode码,高位用0补足
    因此就形成了如下的UTF-8标记位:

    0xxxxxxx
    110xxxxx 10xxxxxx
    1110xxxx 10xxxxxx 10xxxxxx
    11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
    111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
    1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
    

    It's 简书这7个字符(包含s和简之间的空格)

    Unicode 十六进制 二进制 UTF-8编码
    I 0049 01001001 0100 1001
    t 0074 01110100 0111 0100
    ' 0027 00100111 0010 0111
    s 0073 01110011 0111 0011
    (space) 0020 00100000 0010 0000
    7b80 0111 101110 000000 11100111 10101110 10000000
    4e66 0100 111001 100110 11100100 10111001 10100110

总结

  1. Unicode是所有的字符集合
  2. UTF-8是编码的规则

参考

  1. Unicode 和 UTF-8 有何区别?
  2. Unicode

相关文章

  • unicode, utf8/16, codepoint, big

    big/small endian ASCII,Unicode和UTF-8 unicode、codepoint

  • 中文处理

    从几个例子说说 Erlang 如何处理中文. 知识介绍:Unicode与UTF-8的区别,简单来说,Unicode...

  • ASCII,Unicode,UTF-8,Base-64

    字符编码笔记:ASCII,Unicode和UTF-8字符编码笔记:ASCII、Unicode、UTF-8 和 Ba...

  • python基础-13-史上最通俗易懂的编码讲解

    常用编码 ascii unicode utf-8 gbk 编码 ascii unicode utf-...

  • 关于编码二三事

    1.中文编码共有3种,unicode, utf-8, gb2312。虽然unicode和utf-8比较像,但是我们...

  • 搞定编码格式问题

    Unicode 于 utf-8 以下文章来自知乎回答 Unicode 是「字符集」UTF-8 是「编码规则」 其中...

  • Unicode与UTF-8

    Unicode Unicode是一个国际标准,用于文本的编码和表示。它使得可以用标准格式来表示来自任意语言的几乎所...

  • unicode 与 utf-8

    1. wikipedia 重点看章节1.2 Architecture and terminology 2. 仔细读...

  • Unicode与UTF-8

    UTF-8规则: 1. 对于单字节的符号, 字节的第一位设为0, 后面7位为这个符号的Unicode码, 因此ut...

  • Unicode 与 UTF-8

    最近在开发上遇到了点编码的问题,又重新学习了字符集以及编码的知识。特此记录一下。 核心 我比较喜欢一开始讲述核心的...

网友评论

      本文标题:Unicode与UTF-8

      本文链接:https://www.haomeiwen.com/subject/dphpdftx.html