• 编码,数据的传输


    计算机只能使用 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

  • 相关阅读:
    微信公众平台申请消息接口验证工具
    Android应用开发学习之启动另外一个Activity
    九宫格数值分组
    Squid--hash代码分析
    ThreadPoolExecutor原理和使用
    [数字dp] hdu 3271 SNIBB
    C#同步SQL Server数据库Schema
    [AC自己主动机] zoj Searching the String
    人活着系列Tanya和蔡健雅猪 (floyd)
    安装在谷歌axure小工具
  • 原文地址:https://www.cnblogs.com/mattins/p/1799144.html
Copyright © 2020-2023  润新知