关于 python 中文的问题

123333 发布于 2014/06/11 22:43
阅读 426
收藏 0

有一个文件 我们叫它 1.txt 包含

\xE4\xBD\x95\xE6\xAC\xB2

\xE4\xB8\x81\xE9\x98\x9F

这样的utf-8格式的内容

我想做的就是写一个脚本取出这些utf-8包含的中文内容

#!/usr/bin/env python
#coding=utf-8
try:	
	f=open(ur"1.txt","r")	
	for i in f:
		print i.decode('utf-8').encode('utf-8')
	f.close()
except Exception as err:
	print err

可是为什么打不出中文呢?!

打出的还是\xE4\xBD\x95\xE6\xAC\xB2这样的utf-8格式??








加载中
0
iamxi
iamxi
\xxx的就是一个字符串,他不是字节,不能转变
1
123333
请问,那该如何呢?
0
Xsank
Xsank
>>> print "\xE4\xBD\x95\xE6\xAC\xB2".decode('utf-8')
何欲



0
1
123333

感谢您的回复

假如我有1万个utf8的数据在1.txt文件中呢?

1 #!/usr/bin/env python
2 #coding=utf-8
3 try:   
4     f=open(ur"1.txt","r")  
5     for i in f:
6         print i.decode('utf-8').encode('utf-8')
7     f.close()
8 except Exception as err:
9     print err
这个代码哪里有问题呢?


0
1
123333
那么该如何呢!?
0
1
123333

百度了半天,也没有答案!求大神

0
freesnow
freesnow

print i.replace("\\x","").decode("hex").decode("utf-8")


1
123333
谢谢! 十分感谢
0
freesnow
freesnow
字符串中的"\xE4"和文件中的\xE4是不同的。前者是一个字节,内容是16进制的E4,交互shell中直接输入变量名,输出的是"\xE4";后者读到变量中后是4个字节,分别是\,x,E,4,打印的话是"\\xE4"(注意\被转义成普通字符了)
0
svice
svice
# -*- coding:utf-8 -*-

import urllib.parse as up
try:   
    data = open('d://ttt.txt',"r").read()
    print(up.unquote(data.replace('\\x','%')))
except Exception as err:

    print(err)

我的是python3的,试验成功,机器没装python2,你调下看看

1
123333
谢谢! 十分感谢
0
1
123333
太谢谢各位!!!!!!!!!!
0
vcode
vcode
print '\\xE4\\xBD\\x95\\xE6\\xAC\\xB2'.decode("string_escape")
何欲



返回顶部
顶部