python之编码的进阶

识记点:

  • 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个字

'''
会报错
'''
posted @ 2019-06-12 21:46  爱咋闹  阅读(164)  评论(0编辑  收藏  举报