首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 字符编解码器

Python 字符编解码器

作者头像
为为为什么
发布于 2022-08-10 14:07:33
发布于 2022-08-10 14:07:33
9410
举报
文章被收录于专栏:又见苍岚又见苍岚

“字符串”是个相当简单的概念:一个字符串是一个字符序列。本文记录 Python 中字符串相关内容。

基本的编解码器

  • Python 自带了超过 100 种编解码器(codec, encoder/decoder),用于在 文本和字节之间相互转换。每个编解码器都有一个名称,如 ‘utf_8’, 而且经常有几个别名,如 ‘utf8’、‘utf-8’ 和 ‘U8’。这些名称可以传 给 open()、str.encode()、bytes.decode() 等函数的 encoding 参数。
  • 例如: 使用 3 个编解码器编码字符串“El Niño”,得到的字节序 列差异很大
代码语言:javascript
复制
for codec in ['latin_1', 'utf_8', 'utf_16']:
    print(codec, 'El Niño'.encode(codec), sep='\t')
   
-->
latin_1 b'El Ni\xf1o'
utf_8   b'El Ni\xc3\xb1o'
utf_16  b'\xff\xfeE\x00l\x00 \x00N\x00i\x00\xf1\x00o\x00'

  • 下图展示了不同编解码器对“A”和高音谱号等字符编码后得到的字节 序列。注意,后 3 种是可变长度的多字节编码。
  • 图 中的星号表明,某些编码(如 ASCII 和多字节的 GB2312)不能 表示所有 Unicode 字符。然而,UTF 编码的设计目的就是处理每一个 Unicode 码位。
  • 编码简介:

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月30日,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 基本的编解码器
  • 参考资料
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档