【问题标题】:Decoding utf8 literal python解码 utf8 文字 python
【发布时间】:2020-03-26 11:56:04
【问题描述】:

我正在尝试解码字符串列表中的字符串,例如 'caf\\xc3\\xab' 如果这是 'café',我想要什么。

我尝试了一些方法,但遇到了问题。

当我这样做时:

for i in range(len(words):
     words[i] = words[i].decode("utf8")

我仍然需要转换为字节类型,但是我该怎么做呢,

当我这样做时,我需要删除双反斜杠才能使其工作

b'caf\\xc3\\xab'.decode("utf8")

【问题讨论】:

  • python2的str是字节,你可以使用unicode或者ues python3(在python3中str是unicode)
  • 我使用 python3 但从特定格式的文件中读取字符串
  • words.decode() 不是就地操作,需要捕获返回值:word = word.decode("utf8")。 (进一步说明:这只会改变循环变量word 的值,不会改变words 中的元素。)

标签: python python-3.x utf-8


【解决方案1】:

假设你有如下字符串:

bef = 'caf\\xc3\\xab'

要转换为“café”,您可以执行以下操作:

aft = bef.encode().decode('unicode-escape').encode('latin1').decode('utf-8')

那么print(aft) 应该显示“咖啡厅”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-13
    • 2022-06-19
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多