我的代码正在读取csv文件中的行,这些文件混合了ascii和oct。我试图恢复UTF-8中的原始文本,但是我遗漏了一些明显的东西。在
line = "Tom\303\241\305\241 Vala" #Tomáš Vala
print(a)
Tomáš Vala #incorrect
如果我在命令行中手动键入该行,则结果是正确的:
^{pr2}$但是如何打印已经以字节为单位的行呢?在
>>> a = "Tom\303\241\305\241 Vala"
>>> print(a)
Tomáš Vala #incorrect
>>> b = bytes(a, 'utf=8')
>>> b.decode('utf=8')
'Tomáš Vala' #incorrect
你需要翻译所有字面反斜杠转义序列。可以使用正则表达式执行此操作:
这将解码
^{pr2}$bytes
对象中的数据:要包装现有文件,您必须实现^{} subclass ,以便在读取时转换字节:
这可用于包装现有的二进制文件,以便实时解码数据:
演示:
相关问题 更多 >
编程相关推荐