【问题标题】:Python Undo UnicodePython 撤消 Unicode
【发布时间】:2011-05-15 08:58:45
【问题描述】:

假设我有以下两个变量:

bob1 = u'bob\xf0\xa4\xad\xa2'

bob2 = 'bob\xf0\xa4\xad\xa2'

我怎样才能让bob1 的值成为bob2 的值?也就是说,如何展开 unicode 格式但保留转义的十六进制值?

如果我这样做:

bob1.encode('utf8')
'bob\xc3\xb0\xc2\xa4\xc2\xad\xc2\xa2'

这不对……

救命!

【问题讨论】:

  • 如果是你的代码产生了bob1 的东西,最好的建议是“不要那样做”。这是一个错误。

标签: python unicode encoding utf-8


【解决方案1】:

U+0000 和 U+00FF 之间的代码点映射到 ISO 8859-1 或拉丁 1 编码中的相同字节值。

>>> u'bob\xf0\xa4\xad\xa2'.encode('latin-1')
'bob\xf0\xa4\xad\xa2'

【讨论】:

  • +1 次要 nitpick:ISO-8859-1 和 latin-1 是相同的编码;后者是别名
猜你喜欢
  • 2011-01-01
  • 2014-02-28
  • 2023-03-03
  • 2011-01-29
  • 1970-01-01
  • 1970-01-01
  • 2021-06-01
  • 2014-04-12
相关资源
最近更新 更多