【问题标题】:Python Convert Unicode to Characters from Text File [duplicate]Python将Unicode转换为文本文件中的字符[重复]
【发布时间】:2021-04-21 03:03:04
【问题描述】:

我在纯文本文件中有如下行:

  181006\td3a8d0236\tNicol\xc3\xa1s\tPe\xc3\xb1a\tmisc.person@email.com

我想使用 Python 打开并读取文件,然后以解码后的形式打印出每一行:

  181006 d3a8d0236        Nicolás Peña    misc.person@email.com

作为一个文字字符串,这很容易......

import codecs
a = b'181006\t000d3a8d0236\tNicol\xc3\xa1s\tPe\xc3\xb1a\tmisc.person@email.com'
b = codecs.decode(a)
print(b)

但是,尽我所能,我似乎找不到与变量中的数据等效的 b'' 字面语法。有多个关于此的 SO 帖子,但我没有运气使用 open()/read()/write() 等。有人可以提供建议吗?

【问题讨论】:

  • 您有读取文件的代码吗? open("somefile.csv", encoding="utf-8") 应该可以正确打开文件。
  • 以二进制形式读取文件,如果文件中有文字转义码,s = s.decode('unicode_escape').encode('latin1').decode('utf8') 应该可以工作。

标签: python unicode utf-8 codec


【解决方案1】:

您是否尝试过 .encode('utf_8'),因为这会给您“'b”。

例子:

a = str('181006\td3a8d0236\tNicol\xc3\xa1s\tPe\xc3\xb1a\tmisc.person@email.com')
print(a.encode('utf_8'))
b'181006\td3a8d0236\tNicol\xc3\x83\xc2\xa1s\tPe\xc3\x83\xc2\xb1a\tmisc.person@email.com'

然后你就可以应用解码了。

【讨论】:

    猜你喜欢
    • 2013-05-10
    • 1970-01-01
    • 2021-11-27
    • 2011-02-03
    • 1970-01-01
    • 2020-07-22
    • 2016-03-12
    • 2020-11-24
    • 2019-04-19
    相关资源
    最近更新 更多