• 编码,数据的传输


    计算机只能使用 0 与 1 来组合 储存信息

    以8位的0与1的不同组合 组成2^8 =256种不同的状态

    在传输时 会将字符按一个编码规则 编译成有规律的二进制格式

    如 在传输book 这个单词时 会将book以ascii编码 编译成 01100010 01101111 01101111 01001011 传输

    在接收端 接收到这些字节 将这些字节以ascii编码表 还原为 book 这个单词

    ASCII

    使用0开头的 127 种状态  还剩128种状态

    对A-Z 1-0 等字符

    指定了他的状态

    以此来储存不同的信息

    如 空格为32

    指令:储存 32 储存第32种状态 32—找编码表 储存010101。。。

    输出: 010101 找ASCII编码表 找到对应的符号 输出。。。

    vs编辑器下可以选择代码页的保存方案。英文字符多会以ASCII编码方式储存。(其他双字节编码低于128位会不用)

    L"Hello!" ----->告知编辑器以双字节储存。

    gb2312

    既然一个字节的 256 种字符不能表示中文,那么,我们就使用两个字节来表示一个中文,在每个字符的 256 种可能中,低于 128 的为了与 ASCII 保持兼容,我们不使用,借鉴 ISO8859的设计方案,只使用从 160 以后的 96 个数字,两个字节分成高位和低位,高位的取值范围从 176-247 共72个,低位从 161 – 254共94这样,两个字节就有 72 * 94 = 6768

    unicode

    简称 UCS :没有定义储存与传输

    兼容世界所有字符 00000000.00000000

    256*256 =65536种状态 UCS-2

    256*256*256*256=…..种状态 UCS-4 :兼容外星人的字符集

    unicodde 16 ---每个字用双字节存

    unicode 32 ---每个字有4字节存

    UTF-8  变成编码

    以可变单字符长度

    为了减少储存英文的大小 为了单字节储存

    其中 UTF-8 编码得到了广泛的应用,UTF-8 的全名是UCS Transformation Format 8, 即 UCS 编码的8位传输格式,就是使用单字节的方式对 UCS 进行编码,使 Unicode 编码能够在单字节的设备上正常进行处理。
    UTF-8 编码是变长的编码,对不同的 Unicode 可能编成不同的长度

    突破障碍 - Unicode 与 本地编码的转换
    UTF-8 编码解决了字符的编码问题,又可以在现有的设备上通行,因此,得到了广泛的使用

    latin1

    ISO-8859-1=latin1

    latin1 特性 单字节编码 向下兼容ascii 0x00-0xff-0x00-0x7f

    latin1使用了单字节内的所有空间

    可以用latin1 储存与传输 其他编码字节流。

    mysql用的这个特性

    escape -->latin1

  • 相关阅读:
    Git for Windows之基础环境搭建与基础操作
    TFS2018环境搭建一单实例安装(适用于小型团队)
    TFS2018环境搭建一硬件要求
    Proxy代理模式(结构型模式)
    Flyweight享元模式(结构型模式)
    Facade外观模式(结构性模式)
    Decorator装饰者模式(结构型模式)
    Composite组合模式(结构型模式)
    mybatis中 #{} 和 ${} 的区别
    解决mybatis中#{}导致的The error may involve defaultParameterMap的问题
  • 原文地址:https://www.cnblogs.com/mattins/p/1799144.html
Copyright © 2020-2023  润新知