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个字
'''
会报错
'''