我试图摆脱我的文本文件中的变音符号。我用一种工具将PDF转换为文本,而不是由我自己制作。我无法理解他们使用哪种编码。正文写在Nahuatl,与西班牙文正确熟悉。如何在python中找到正确的编码?
我将文本转换为字符串列表。不,我试图做到以下几点:
# check whether there is a not-ascii character in the item
def is_ascii(word):
check = string.ascii_letters + "."
if word not in check:
return False
return True
# if there is a not ascii-character encode the string
def to_ascii(word):
if is_ascii(word) == False:
newWord = word.encode("utf8")
return newWord
return word
我想得到的是我的字符串的unicode版本。到目前为止它不工作,我尝试了几种编码,如latin1,cp1252,iso-8859-1。我得到的是谁能告诉我我做错了什么?
如何找出正确的编码?
谢谢!
编辑: 我写信给开发转换器的人(pdf-txt),他们说他们已经在使用unicode了。所以约翰·马金在他的回答中对(1)是正确的。 正如我在一些评论中写道的,这在我看来并不清楚,因为在Eclipse调试器中,列表本身在unicodes中显示了一些符号,而其他的不是。如果我单独查看这些项目,他们都以某种方式解码,所以我实际上看到了unicode。
谢谢你的帮助!
请参阅Ned Batchelder的[Pragmatic Unicode,或者,如何阻止疼痛?](http://nedbatchelder.com/text/unipain.html)。生活的事实#4(“你不能推断字节的编码;你必须被告知,或你必须猜测”)是直接相关的,但它似乎也可以使用其余的。 – delnan 2013-02-22 19:30:32
请注意,使用关于字符频率和组合的统计信息的编码猜测库对于Nahuatl来说不可能像对英文那样起作用。不幸的是,大部分猜测编码的努力都集中在那些文本是少数主要世界语言之一的文档上。 – BrenBarn 2013-02-22 19:35:39
@ user1986412:你可以让你的文件可用于分析吗? – 2013-02-22 23:36:16