3

嗨,我的代码是这样的(python 3.3.2)

fw = codecs.open('outputfile.txt','w')
if((unidata[i]==U'\u0d46' and unidata[i-1]==U'\u0d28') and (unidata[i+1]==U'\u0d24') and (unidata[i+2]==U'\u0d4d')):
    print ('code 1')
    if(var==1):
        x=unidata[0:i-1]+U'\u0d7b'+ ' + '+U'\u0d0e'+unidata[i+1:len(unidata)]
    first_word=unidata[0:i-1]+U'\u0d7b'
fw.write(str(first_word.encode('UTF-8')))

文件中的输出是这样的:

(b'\xe0\xb4\xb0\xe0\xb4\xbe\xe0\xb4\xae\xe0\xb5\xbb') 

实际输出应该是:

രാമൻ

如何解决这个问题?

4

2 回答 2

0

unicode反转换问题及解决方案

我给链接 bc 他们解释得比我好,那里还有其他功能定义,我认为直接链接页面上的第 3 号对你有帮助。

于 2013-11-02T11:32:30.230 回答
0

这有效..

fw=open("myunicodefile.txt","w")
fw.write(firstword.encode('UTF-8'))

但我认为你是在讲述文件中的字符串#### 是的,实际上 unicode 在使用 """"str()""" "\xe0\xb4\xb0\xe0\xb4\xbe\ 转换后看起来像这样xe0\xb4\xae\xe0\xb5\xbb"

这是 unicode。但是要在马拉雅拉姆语中使用 texteditor 看到它,它必须以 uncode 模式打开 _ __如果您使用 python 读取该文件,则必须打开该文件并编码为 utf

例如:fr=open("mytext.txt","r") data=fr.read() unicodedata=data.encode("utf-8") print unicodedata

这将打印马拉雅拉姆语

于 2014-02-15T18:09:04.590 回答