【发布时间】:2017-06-03 12:49:36
【问题描述】:
我在理解将 unicode 表达式翻译成各自的字符时遇到了一些困难。我一直在查看 unicode 规范,并且遇到了各种格式如下U+1F600 的字符串。据我所见,似乎没有内置函数知道如何将这些字符串转换为 Python 的正确格式,例如\U0001F600。
在我的程序中,我创建了一个小的正则表达式,它将找到这些U\+.{5} 模式并将U+ 替换为\U000。但是,我发现对于所有 unicode 字符,这种语法并不相同,例如实际上应该从 U+200D 转换为 \u200D 的零宽度连接。
因为我不知道正确的 unicode 转义序列的每一个变体,处理这种情况的最佳方法是什么?是我只能检查有限数量的这些特殊字符还是我完全错误的方式?
Python 版本是 2.7。
【问题讨论】:
-
对不起,我把它加进去。它是 Python 2.7。 :)
-
u'\u200D' == u'\U0000200D' -
谢谢!我想知道我添加的示例是否会接受额外的零。如果是这样的话,也许这可以解决非均匀错误。 - 事实证明确实如此,因为
\U00001F600是一个不同的角色。还是谢谢!
标签: python python-2.7 unicode emoji python-unicode