我有一段文本(从db中提取),我想找到非unicode字符,因为在将值转换为{{时,在代码(python 3.6
)的某些部分1}}我得到以下str
因此,如果我可以找到非Unicode字符,则可以决定如何处理它们。我绝对不想用其他东西代替它们。
我发现了如何使用ValueError: character U+ffffffc2 is not in range [U+0000; U+10ffff]
在文件中查找非ASCII字符,但是我不确定这是否也会给我提供非Unicode字符。
答案 0 :(得分:0)
请参见http://p3rl.org/Encode#coderef-for-CHECK
# contains U+ffffffc2 encoded in UTF-8
› hex nonunicodefile
0000 61 62 63 fe 83 bf bf bf bf 82 78 79 7a abc..... ..xyz
› perl -MEncode -lne'
# replace junk with empty string
my $line = decode "UTF-8", $_, sub { "" };
print encode "UTF-8", $line;
' < nonunicodefile
abcxyz