【问题标题】:How to decode javascript unicode string in python?如何在python中解码javascript unicode字符串?
【发布时间】:2018-09-21 00:48:33
【问题描述】:

我发现是TWO HEARTShere的字符。我试着解码它:

a = '\ud83d\udc95'
a.encode('utf-8').decode('utf-8')
UnicodeEncodeError: 'utf-8' codec can't encode characters in position 0-1: surrogates not allowed

如何获得正确的符号?

谢谢。

【问题讨论】:

  • 你试过搜索错误信息吗?
  • 您的链接将u'\U0001f495' 显示为 Python 转义;相反,在这里您使用 Java/JavaScript 转义。为什么?
  • 这是我收到的数据。

标签: python unicode utf ucs2


【解决方案1】:

你链接到的页面告诉你

Python Escape u'\U0001f495'

使用它:

>>> u'\U0001f495'
'?'

【讨论】:

  • 谢谢卢茨。但是,如何从\ud83d\udc95 转换为\U0001f495?如何进行映射?
【解决方案2】:

使用json模块帮你解决不同的Unicode

import json

a = '\ud83d\udc95'
m = json.dumps({"k": a})
print(json.loads(m)["k"])  # ?

【讨论】:

    【解决方案3】:

    我无法发表评论,所以这里是如何转换的答案"\uD83D\uDC95".encode('utf-16', 'surrogatepass').decode('utf-16').encode('unicode_escape').decode('utf-8')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      • 2020-03-30
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 2011-04-21
      相关资源
      最近更新 更多