返回介绍

第 4 章 文本和字节序列

发布于 2024-02-05 21:59:48 字数 1063 浏览 0 评论 0 收藏 0

人类使用文本,计算机使用字节序列。1

——Esther Nam 和 Travis Fischer
“Character Encoding and Unicode in Python”

1PyCon 2014,“Character Encoding and Unicode in Python”演讲的第 12 张幻灯片幻灯片视频

Python 3 明确区分了人类可读的文本字符串和原始的字节序列。隐式地把字节序列转换成 Unicode 文本已成过去。本章将要讨论 Unicode 字符串、二进制序列,以及在二者之间转换时使用的编码。

深入理解 Unicode 对你可能十分重要,也可能无关紧要,这取决于 Python 编程的场景。说到底,本章涵盖的问题对只处理 ASCII 文本的程序员没有影响。但是即便如此,也不能避而不谈字符串和字节序列的区别。此外,你会发现专门的二进制序列类型所提供的功能,有些是 Python 2 中“全功能”的 str 类型不具有的。

本章将讨论下述话题:

字符、码位和字节表述

bytes、bytearray 和 memoryview 等二进制序列的独特特性

全部 Unicode 和陈旧字符集的编解码器

避免和处理编码错误

处理文本文件的最佳实践

默认编码的陷阱和标准 I/O 的问题

规范化 Unicode 文本,进行安全的比较

规范化、大小写折叠和暴力移除音调符号的实用函数

使用 locale 模块和 PyUCA 库正确地排序 Unicode 文本

Unicode 数据库中的字符元数据

能处理字符串和字节序列的双模式 API

接下来先从字符、码位和字节序列开始。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文