【发布时间】:2009-11-06 05:54:07
【问题描述】:
在尝试修复 PML(Palm 标记语言)文件时,我的测试文件似乎包含非 ASCII 字符,这导致 MakeBook 抱怨。解决方案是去除 PML 中的所有非 ASCII 字符。
所以在尝试在 python 中解决这个问题时,我有
import unicodedata, fileinput
for line in fileinput.input():
print unicodedata.normalize('NFKD', line).encode('ascii','ignore')
但是,这会导致错误,即行必须是“unicode,而不是 str”。这是一个文件片段。
\B1a\B \tintense, disordered and often destructive rage†.†.†.\t
目前还不太确定如何正确传入要处理的行。
【问题讨论】:
-
是否要过滤掉任何 ASCII 值大于 255 的字符?
-
严格来说,没有扩展 ASCII 这样的东西。 ASCII 定义从 0 到 127 的值。任何高于该值的值都只能被任意解释。也许您应该使用术语非ASCII字符。
-
相关:终端输出安全转义功能stackoverflow.com/questions/437476/…
标签: python ascii extended-ascii