zoukankan      html  css  js  c++  java
  • 编码解码

    编码解码

    计算机内存

    计算机内存的编码是Unicode编码方式表示的。但是数据要是想要保存到硬盘或者进行网络传输,就会使用utf-8或者gbk,在中国的的话,系统默认是gbk编码,那为啥不直接用Unicode进行传输呢?

    虽然Unicode可以容纳最多的字符种类但是它所占用的空间也非常大,所以在持久化存储或者网络传输的情况下,会选择其他编码。

    计算机的编码/解码

    编码解码其实就是Unicode和其他编码之间的转化

    编码:Unicode----其他

    解码:其他----Unicode

    我们在电脑上看到所有字符’abc‘啥的其实就是内存中的Unicode格式的数据。

    当我们保存的时候,才会进行编码,但我们打开文件会进行解码

    乱码

    什么情况会出现乱码呢?

    当我们输入“中国”,这个“中国”就会在内存中以Unicode的形式存在,当我们以acsii的格式进行编码,ascii无法识别Unicode的一些中文字符,所以会乱码或者报错

    编程语言的编码解码--python

    编码:字符串--比特流

    解码:比特流--字符

    先来说一下下面的过程

    python中字符串默认就是Unicode格式的

    str--->(encode)--->bytes,bytes--->(decode)--->str
    

    1.将字符串对应gbk形式转化为二进制形式x是16进制

    2.将二进制对应GB2312转化成字符串

    zx="阿SDK"
    print(zx)
    zx=zx.encode("gbk")
    print(zx)
    zx=zx.decode("GB2312")
    print(zx)
    
    阿SDK
    b'xb0xa2SDK'
    阿SDK
    
  • 相关阅读:
    Android 3D滑动菜单完全解析,实现推拉门式的立体特效
    2013年9月25日参加耐特菲姆(北京)玉米滴灌培训小结
    日积月累:ProguardGui进行jar包代码混淆
    CSS3之渐变Gradient
    poj 3182 The Grove
    qrcodeJS生成二维码
    样式优先级
    git流程及操作
    js data日期初始化的5种方法 [转]
    转 jQuery中的$.extend方法来扩展JSON对象
  • 原文地址:https://www.cnblogs.com/zx125/p/11478794.html
Copyright © 2011-2022 走看看