美文网首页
编码学习小记

编码学习小记

作者: craig_wang | 来源:发表于2018-04-23 14:43 被阅读7次

    ASCII 8bit

    • 格式: <0> 0000000 - <0> 1111110
    • 区间: 0 ~ 126
    • 特点:第一位始终为0

    Unicode

    • 格式:严 -> 4E25 -> 100111000100101
    • 特点:符号集合(一个符号唯一对应一个数值大小) <一张通用数据表>

    UTF-8 变 长编码 -> Unicode的内存实现方式'之一'

    • 格式:<0xxxxxxxx> <110xxxxx 10xxxxxx> <1110xxxx 10xxxxxx 10xxxxxx> <11110xxx 10xxxxxx 10xxxxxx 10xxxxxx>
    • 区间 0 ~ 126 5x + 6x 4x + 6x + 6x 3x + 6x + 6x + 6x 可以理解他们不包含,而是组成连续, 对应Unicode的字符表
    • 特点:特定的表示格式,能在存储和网络传输中正确区分字符,表示内容

    转换

    Unicode -> UTF-8

    • 严 -> 4E25 -> 100111000100101 (数值大小) <15个x>
    • 大于11x,小于16x,三个字节:1110xxxx 10xxxxxx 10xxxxxx
    • 从后面将Unicode bit填入 UTF-8 1110x100 10111000 10100101 (x = 0)

    ASCII -> UTF-8

    • ! -> 21(16进制,33十进制) -> 00100001
    • 小于等于7x,一个字节:0xxxxxxx
      填入bit 0x100001 (x = 0)

    补充:

    • HTTP协议是以ASCII 码传输<这个先记录>(UTF-8的每一个字节就是一个ASCII)
    • ?? JSON(Dic) -> Data -> [ASCII] (字节为单位)
    • Unicode规范定义:Little endian 和 Big endian,如果一个文本文件的头两个字节是FE FF,就表示该文件采用大头方式;如果头两个字节是FF FE,就表示该文件采用小头方式,如果它出现在字节流的中间,则表达零宽度非换行空格的意义,用户看起来就是一个空格
    • UTF-8则没有字节顺序的议题
    • UTF-16 UTF32却有字节顺序
    • 如图: 维基百科-字节顺序标记.png

    相关文章

      网友评论

          本文标题:编码学习小记

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