python之编码的进阶

时间:2025-04-14 14:36:55

识记点:

  • ascii 不支持中文

  • gbk 国标 中文2 英文1

  • unicode 万国码 英文2 中文4

  • utf-8 英文1 欧洲2 亚洲3

  • 硬盘中存储的是字节

  • 用什么编码就用什么解码

# 一段文字的转换,传输,再转换
今天晚上去洗脚 gbk 010101010101 传输字节 010101010101 gbk 今天晚上去洗脚

例题:

s = "abc"
print(s.encode("gbk"))
b'\xc6\xe6\xc6\xe6' -- 字节
b'abc'
s = "aaaa"
s1 = b"aaaa"

中文的传输:

  • 将中文转换成gbk
  • 将gbk转换成utf-8 # encode
  • 字节传输
  • 将utf-8转换成gbk # decode
  • 将gbk转换成中文
s = "今天晚上,吃鸡!"
s1 = s.encode("gbk") # 中文转换成字节 -- 编码
s1 = s.encode("utf-8") # 中文转换成字节 -- 编码
b'\xbd\xf1\xcc\xec\xcd\xed\xc9\xcf,\xb3\xd4\xbc\xa6!'
print(s1.decode("utf-8")) #字节转换成字符串 -- 解码
python3内存使用的就是unicode
python2内存使用的就是ascii
s = "你好"
s1 = s.encode("utf-8") # 字节
print(s1) # 6个字节
print(s1.decode("gbk")) # 3个字 '''
会报错
'''