Unicode和UTF8

来源:互联网 发布:阿里云centos安装lamp 编辑:程序博客网 时间:2024/05/08 06:25

对于初学者,可以简单地这么理解(实际并不准确):

Unicode是一个字符集,它将(各种语言的)一个字符映射为整数。
UTF-8是一种编码方式,它将Unicode字符集(字节序列)编码和解码。

在python中,当我们决定要使用Unicode字符集时,请保证:

  • 程序中出现字符串时一定要加个前缀 u
  • 不要用 str()函数,用unicode()代替
  • 不要用过时的 string 模块 – 如果传给它的是非ASCII 字符,它会把一切搞砸。
  • 不到必须时不要在你的程序里面编解码 Unicode字符.只在你要写入文件或数据库或者网络时,才调用encode()函数;相应地,只在你需要把数据读回来的时候才调用decode()函数.

原则就是:
程序运行时,数据需使用unicode字符集;保存数据到文件或数据库时,需使用utf8

有一点非常重要
在以utf-8方式读取文件的时候,请确保你的文件编码格式也是utf-8.

Ref
http://stackoverflow.com/questions/643694/utf-8-vs-unicode/643713#643713
《Python核心编程》第二版 P199

0 0
原创粉丝点击