Python中文全攻略
原文链接: http://blog.csdn.net/mayflowers/archive/2007/04/18/1568852.aspx 1. 在Python中使用中文 在Python中有两种默认的字符串:str和unicode。在Python中一定要注意区分“Unicode字符串”和“unicode对象”的区别。后面所有的“unicode字符串”指的都是python里的“unicode对象”。 事实上在Python中并没有“Unicode字符串”这样的东西,只有“unicode”对象。一个传统意义上的unicode字符串完全可以用 str 对象 表示。只是这时候它仅仅是一个字节流,除非解码为unicode对象,没有任何实际的意义。 我们用“哈哈”在多个平台上测试,其中“哈”对应的不同编码是: 1. UNICODE (UTF8-16), C854; 2. UTF-8, E59388; 3. GBK, B9FE。 1.1 Windows控制台 下面是在windows控制台的运行结果: 可以看出在控制台,中文字符的编码是GBK而不是UTF-16。将字符串s(GBK编码)使用decode进行解码后,可以得到同等的unicode对象。 注意:可以在控制台打印ss并不代表它可以直接被序列化,比如: 向文件直接输出ss会抛出同样的异常。在处理unicode中文字符串的时候