我从一个网页上得到了一个单词“Zápas”。问题是我的数据中最接近的版本看起来像:Windows-1250编码后的Z \ xe1pas。
没有该str(a),就会出现一些ANSI错误。
谢谢您的帮助。

我的尝试:

def encode(text):
    return text.encode('windows-1250')...
...
for cell in row.findAll(['td', 'th']):
    cell=encode(cell.get_text().strip())
    a.append(cell)
foo.write(str(a)+"\n")

最佳答案

a字符串实际上可能是unicode字符串。要将其写入字节流,应使用指定的编码将其编码为字节字符串,在您的情况下为windows-1250,在我的情况下为utf-8。只需使用a.encode(<encoding>) before sending result to the foo.write()`:

foo.write(a.encode("utf-8"))


另外,在发送数据“外部”(文件,远程目标等)之前,我会立即处理unicode中的所有数据转换为字节字符串。

关于python - 编码斯洛伐克字母,例如:ášČé,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32752008/

10-11 17:17