【问题标题】:How to escape Unicode in Python 3如何在 Python 3 中转义 Unicode
【发布时间】:2015-05-21 22:39:59
【问题描述】:

所以我知道字符“Latin Small Letter Sharp S”ß 位于 Unicode 点 U+00DF,并且我知道如何在 Python 3 中将其转义为字符串:\u00DF

但是,我知道更大的代码点还有其他 unicode 前缀(例如 U+260E: Black Telephone

我看到使用大写的U,例如\U00DF,我也看到使用\x

我的问题是我什么时候使用这些。例如,许多表情符号只是以U+260x 给出。我的想法是使用大写 U 并在这些数字之前填写 12 0s 但是我什么时候使用 \x 以及我什么时候知道使用前导零(以及多少)

所有这些都是我的猜测,因为我找不到任何文档。

【问题讨论】:

标签: python python-3.x unicode


【解决方案1】:

\x 采用两个十六进制数字。 小写的\u 采用四个十六进制数字。 大写的\U 需要八个十六进制数字。

https://docs.python.org/3/howto/unicode.html#unicode-literals-in-python-source-code

【讨论】:

  • 所以在我的第一个例子中,为什么 U+00DF 只有 2 个十六进制数字时会转义为 \u00DF
  • @Startec: \u00DF\xDF 的含义完全相同(与\U000000DF 相同)。
  • 作者可能只是发现它更具可读性,可能是因为他们的代码库中还有其他\u 转义,或者作者只是更习惯了它们。
猜你喜欢
  • 2019-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-29
  • 1970-01-01
  • 2011-06-28
  • 2015-05-27
  • 1970-01-01
相关资源
最近更新 更多