Python Unicode字符串

Python Unicode字符串:统一码。为每种语言的每一个字符都设定了统一并且唯一的二进制编码。

  最早的计算机在设计时采用 8 个比特作为一个字节,一个字节能够表示的最大的数就是 2的8次方。从 00000000 到 11111111。0~255 用来表示英文字母、数字和一些符号,这是 ASCII 码。A对应的是65,a对应的是97。但是,只使用英文字母是不能够输出中文的,所以中国制造了GB2312编码。对应的,其他国家也想要输出他们国家的语言,所以Unicode码将所有的语言都统一在一套编码里。

  Unicode字符编码是由国际组织制定的,可以容纳世界上所有文字和符号的字符编码方案。

  Unicode字符编码主要有 UTF-8 ,UTF-16,UTF-32。

  UTF-8 编码将英文字母编码成一个字节,汉字通常是三个字节。适用于存在大量英文字符时,节省空间。

  当未使用 UTF-8 格式时,进行输出中文:

print '你好,世界'
File "main.py", line 1
SyntaxError: Non-ASCII character '\xe4' in file main.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

  使用 UTF-8 可以避免报错:

  1.使用 #-*-coding:UTF-8-*-

#-*-coding:UTF-8-*-
print '你好,世界'
你好,世界

  2.使用 #coding=UTF-8

#coding=UTF-8
print '你好,世界'
你好,世界

  目前,Python3 的源码文件都默认使用 UTF-8 编码,输出中文时,不用修改字符编码格式了。


2020-02-08