python的编解码(utf-8与gbk互转)

演示

python内部字符串统一是用unicode来存的,但是字符串在初始化的时候会因为操作系统环境而有差异

下面是在Linux环境下(UTF-8)初始化字符串

>>> d = '测试'
>>> d
'\xe6\xb5\x8b\xe8\xaf\x95'

转成unicode,可以看到变成了u开头的一堆字符,这个时候就可以转码了

>>> d = d.decode('utf-8')
>>> d
u'\u6d4b\u8bd5'

转成GBK编码

>>> d = d.encode('gbk')
>>> d
'\xb2\xe2\xca\xd4'

总结:

  • decode操作,把编码后的字符串转成未编码的unicode
  • encode操作,将unicode转成编码后的字符串

智能判断编码类型

>>> import chardet

>>> d = d.encode('utf-8')
>>> chardet.detect(d)
{'confidence': 0.7525, 'language': '', 'encoding': 'utf-8'}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容