python 字符编码

Posted moumoonmm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 字符编码相关的知识,希望对你有一定的参考价值。

python 字符编码

  • ASCII -->latin1 -->unicode编码

  • 字符 --> 数字编码存在一个对应的关系

  • 使用内置函数chr和ord能够查看数字二号字符的对应关系

  • ord获取字符对应的编码;chr根据编码获取对应的字符

print(ord(‘a‘))
print(chr(65))
print(ord(‘你‘))
print(chr(12371))

‘‘‘
97
A
20320
こ
‘‘‘
  • GBK(国际,汉字占两个字节,简体中文) utf-8(统一编码,汉字占三个字节) BIG5
print(‘你‘.encode(‘gbk‘))
print(‘你‘.encode(‘big5‘))
print(‘你‘.encode(‘utf-8‘))
‘‘‘
b‘xc4xe3‘
b‘xa7A‘
b‘xe4xbdxa0‘
‘‘‘

x = b‘xe4xbdxa0‘
print(x.decode(‘utf8‘))
‘‘‘
你
‘‘‘

乱码的原理

原理:汉字写入的方式和读取的方式采用的两种不同的字符编码集,所以打开之后会乱码。

# 把‘你好’使用gbk编码
y = ‘你好‘.encode(‘utf-8‘)
print(y)

# gbk一个汉字占两个字节
print(y.decode(‘gbk‘))
print(y.decode(‘utf-8‘))

‘‘‘
b‘xe4xbdxa0xe5xa5xbd‘
浣犲ソ
你好
‘‘‘

txt 纯文本乱码,修改字符集 word 记事本打开

以上是关于python 字符编码的主要内容,如果未能解决你的问题,请参考以下文章

如何测试文本片段是不是是 Quoted-printable 编码的

Python 必知的 20 个骚操作!

python+spark程序代码片段

python编码与代码注释

Python代码阅读(第25篇):将多行字符串拆分成列表

Python string中删除(过滤)掉emoji表情字符