编码学习小记

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 摘自:阮一峰《字符编码笔记:ASCII,Unicode和UTF-8》 ASCII码我们知道,在计算机内部,所有的信...
    maple1eaf阅读 385评论 2 2
  • 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0...
    穿越的辣椒阅读 236评论 0 0
  • 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0...
    rogerwu1228阅读 291评论 0 0
  • 目录 上一章:长椅相伴 帕特抱着一盆蝴蝶兰站在贝克街16号的门前,他长长的呼吸了几口气,腾出一手摇了摇门上的铃铛。...
    景泰蓝呦阅读 396评论 0 0
  • 坐在自习教室的电脑前,好开心呀!
    js92阅读 199评论 0 0

友情链接更多精彩内容