【问题标题】:How to convert a unicode character "\U0001d403" to Escape sequence in python? [duplicate]如何在 python 中将 unicode 字符“\U0001d403”转换为转义序列? [复制]
【发布时间】:2021-08-22 13:24:27
【问题描述】:

这是一个数学字母数字符号(大写 D),我只想转换成简单的英文字母(大写 D)。

比如,\U0001d403 => \uxxxx。

我不熟悉解码编码机制。

有什么转换方式吗?

【问题讨论】:

  • 您能否进一步澄清您的问题。因为运行 print('\U0001d403') 给出了大写字母 D
  • 转义序列仅在字符串 literals 中有用。如果您已经有一个 str 值,您可能只想要一个包含正确字符的新字符串。
  • 如果您正在寻找一种将这个符号转换为正常大写 D 的方法,您可以执行 import unicodedata 然后 unicodedata.normalize('NFKC', '\U0001d403') 生成 'D'。
  • @kaya3 成功了! :)

标签: python decode encode python-unicode unicode-escapes


【解决方案1】:

如果不出意外,您可以为字符串翻译构建自己的映射:例如:

>>> x = '\U0001d403'
>>> x
'?'
>>> x.translate(str.maketrans({'\U0001d403': 'D'}))
'D'

maketrans 可以创建多个字符的映射,可以将其保存为多次调用str.translate 的参数。另请注意,str.translate 适用于任意字符串;给定的地图将分别应用于每个角色。

【讨论】:

    猜你喜欢
    • 2010-11-02
    • 2011-05-29
    • 2010-09-16
    • 2020-04-25
    • 2020-03-15
    • 2020-04-25
    • 1970-01-01
    • 2015-11-22
    相关资源
    最近更新 更多