python unicode编码
我有一个文件,里边都是unicode的u后边的内容,我想转成中文怎么转例子:文件里“4E00”,对应unicode“\u4E00”,对应中文“一”...
我有一个文件,里边都是unicode的u后边的内容,我想转成中文怎么转
例子:文件里“4E00”,对应unicode“\u4E00”,对应中文“一” 展开
例子:文件里“4E00”,对应unicode“\u4E00”,对应中文“一” 展开
4个回答
展开全部
python unicode编码:
下面的代码创建了一个Unicode字符串,用UTF-8编码器将它编码,然后写入到一个文件中去,接着把数据从文件中读回来,解码成Unicode字符串对象,最后,打印出Unicode字符串,用以确认程序正确地运行。
在Linux中编写,在VIM中输入如下代码,保存为uniFile.py
# /home/xiaopeng/python/code/uniFile.py
'''
An example of reading and writing Unicode strings:Writes
a Unicode string to a file in utf-8 and reads it back in
'''
CODEC = 'utf-8' 编码方式
FILE = 'unicode.txt' 要存的文件名
hello_out = u"Hello world\n" 创建了一个Unicode格式的字符串
bytes_out = hello_out.encode(CODEC) 用UTF-8编码
f = open(FILE,'w')
f.write(bytes_out) 写入指定文件中
f.close()
f = open(FILE,'r')
bytes_in = f.read() 读取
f.close()
hello_in = bytes_in.decode(CODEC) 解码
print hello_in 打印
在终端中输入:python uniFile.py
结果打印出 Hello world
然后在python目录下会发现多了一个名为unicode.txt的文件,用cat命令查看一下,发现里面的内容和打印的结果一样.
把Unicode应用到实际中注意一下四点:
1 程序中出现字符串时一定要加一个前缀u
2 不要用str()函数,用Unicode()代替
3 不要用过时的string模块。如果传给它非ASCII码,它会把一切搞砸。
4 不到必须时不要在你的程序里编解码Unicode字符,只在你要写入文件或者数据库或者网络时,才调用encode()函数和decode()函数。
展开全部
假设存放unicode码的文件名为uni.txt,保存文件为unitran.txt
则操作如下:
import codecs
f=open('./uni.txt')
f1=codecs.open('./unitran.txt','w','utf-8') //unicode编码文字输出需考虑编码
while true:
tmp=f.read(4)
if tmp=='':
break
else:
f1.write(unichr(int(tmp,16)))
f.close()
f1.close()
大约就是这个意思,如果你要考虑IO影响的话,那你再研究研究file的读取。
则操作如下:
import codecs
f=open('./uni.txt')
f1=codecs.open('./unitran.txt','w','utf-8') //unicode编码文字输出需考虑编码
while true:
tmp=f.read(4)
if tmp=='':
break
else:
f1.write(unichr(int(tmp,16)))
f.close()
f1.close()
大约就是这个意思,如果你要考虑IO影响的话,那你再研究研究file的读取。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有什么问题?python2.x是默认用unicode编码的,可用type(str)查看。都采纳了别人的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-08-24
展开全部
chr(int("4e00", 16))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询