欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python转码

程序员文章站 2024-03-23 18:12:34
...
首先用utf8编码形式写一个测试用的txt文件

>>> file = open('test.txt','r')
>>> txt = file.read()
>>> txt
'\xe8\xbf\x99\xe6\x98\xaf\xe4\xb8\x80\xe4\xb8\xaa\xe6\xb5\x8b\xe8\xaf\x95\xe6\x96\x87\xe4\xbb\xb6\nthis is a test file \n'
>>> print txt
这是一个测试文件
this is a test file
>>> u_txt = txt.decode('utf-8')
>>> u_txt
u'\u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u6587\u4ef6\nthis is a test file \n'
>>> print u_txt

>>>file.close()

在解释器输入txt,显示出读入的字节内容
然后使用print打印出来,我猜想应该是print函数自动将内容解码了,就像接下来的步骤。u_txt的内容就是解码后的内容,我们看到python把它转换成了python通用的unicode编码,所以print应该是把特定的编码解码后都转成了unicode编码。接着我们就又可以对其进行编码了。

>>> file = open('test_gbk.txt','w')
>>> u_txt
u'\u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u6587\u4ef6\nthis is a test file \n'
>>> file.write(u_txt.encode('gbk'))
>>> file.close()