• 二次编码


    二次编码

    编码回顾

    ascii : 英文,数字,符号
        英文: 1个字节,8位
    
    gbk   : 英文,数字,符号,中文
        英文: 1个字节,8位
        中文: 2个字节,16位
    
    unicode : 英文,数字,符号,中文
        英文: 4个字节,32位
        中文: 4个字节,32位
    
    utf-8 : 英文,数字,符号,中文
        英文: 1个字节,8位
        欧洲: 2个字节,16位
        亚洲: 3个字节,24位
    

    二次编码

    在 python 3 的内存中使用的是 Unicode 编码,而硬盘中存储时使用的是用户选择的编码方式[1]。这样一来,就需要进行 Unicode 和其他编码方式的转变,也就涉及到编码解码的问题。

    编码是将字符转化为二进制的形式,使用的是 .encode() 方法:

    s = "你好"
    s1 = s.encode("utf-8")       # 编码
    print(s1)
    
    输出的内容为: b'xe4xbdxa0xe5xa5xbd'
    

    解码是将二进制形式的数据转换成位符,使用的是 .decode() 方法:

    s = b'xe4xbdxa0xe5xa5xbd'
    s2 = s.decode('utf-8')
    print(s2)
    
    输出的内容为: 你好
    

    需要注意的是,用什么方式进行编码,就需要用什么方式进行解码。解码方式使用错误,轻则乱码,重则报错。

    编码的用处主要在两个方面:

    1. 存储,涉及到文件操作
    2. 传输,涉及到网络编程

    1. 对于中文来说,主要是 gbk 和 utf-8 ↩︎

  • 相关阅读:
    VS2012打包部署Winform程序
    WPF 触发器Triggers
    VS2010中的顺序图
    decimal,float和double的区别
    EXCEL基本知识
    java byte 循环左移 循环右移 rotateLeft rotateRight
    博客地址转移
    PHP学习思维导图
    一款web前端在线编辑器
    9patch android .9格式使用
  • 原文地址:https://www.cnblogs.com/shuoliuchina/p/12430800.html
Copyright © 2020-2023  润新知