《Unicode之痛》摘抄

来源:互联网 发布:沙盘演练软件技巧 编辑:程序博客网 时间:2024/05/17 08:12

Unicode之痛原文链接

一、概念

  • 计算机只能看懂 bytes,计算机中一切均为bytes(字节):硬盘文件、网络传输、程序的输入、输出均由byte组成

  • Unicode 字符称为代码点(code point)用 U 后面加上 XXXX (其中, X 为16进制的字符)来表示字符

  • Unicode 标准定义了多种编码(encoding)方法将 bytes 表示成代码点;其中,对 Unicode 进行传播和存储的最流行编码方式为 UTF-8 ,它用不同的 bytes 来表示每一个代码点。


二、关于python

  • Python2 中,str对象存储的是 bytes 。带u前缀的字符串是“unicode” 对象,存储的是 code points

  • Unicode 字符串有 encode 方法来产生 bytesbytes 字符串有 decode 方法转换成 unicode ;两种方法都需要指定编码类型

  • Python 3 中,str 存储的是 unicode, bytes类型存储的是 byte 串。可以通过加b 前缀来制造 byte字符串


三、策略

  • 输入时,将 bytes流 解码成 unicode。

  • 程序中均使用 unicode

  • 输出时,编码成 bytes流。

0 0
原创粉丝点击