字符串相关操作
字符编码
# ASCII --> Latin1 --> Unicode编码
# 字符 --> 数字编码存在一个对应关系
# 使用内置函数 chr 和 ord 能够查看数字和字符的对应关系
# ord 获取字符对应的编码 chr 根据编码获取对应的字符
print(ord('a')) # 97
print(chr(65)) # A
print(ord('你')) # 20320
print(chr(415))
# GBK 国标扩,汉字占两个字节 GB2312就是GBK
# utf-8 统一编码,汉字占三个字节
# BIG5 大五码(繁体中文)
# 使用encode()方法,可以将字符串转换成为指定编码集结果
# 如果有一个编码集结果,想把它转换成字符串,可以用decode()方法
# GBK编码,一个汉字两个字节
print('你'.encode('gbk')) # b'\xc4\xe3' 50403 11000100 11100011
# utf8编码,一个汉字三个字节
print('你'.encode('utf8')) # b'\xe4\xbd\xa0' 11100100 10111101 10100000
x = b'\xe4\xbd\xa0'
print(x.decode('utf8'))
# 把 你好 使用GBK编码
y = '你好'.encode('gbk')
print(y)
print(y.decode('gbk'))
# print(y.decode('utf8')) 报错
z = '你好'.encode('utf8')
print(z)
print(z.decode('gbk')) # 浣犲ソ
print(y.decode('utf8')) # txt 文本乱码,修改字符集 word -->记事本打开
# 因为utf8是三个字节,两个utf8字符会转