码迷,mamicode.com
首页 > 其他好文 > 详细

二次编码

时间:2020-03-06 21:44:46      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:乱码   形式   note   编码   注意   问题   code   中文   用处   

二次编码

编码回顾

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'\xe4\xbd\xa0\xe5\xa5\xbd'

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

s = b'\xe4\xbd\xa0\xe5\xa5\xbd'
s2 = s.decode('utf-8')
print(s2)

输出的内容为: 你好

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

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

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

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

二次编码

标签:乱码   形式   note   编码   注意   问题   code   中文   用处   

原文地址:https://www.cnblogs.com/shuoliuchina/p/12430800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!