将Unicode表示形式转换为格式化的Unicode?

林赛

我在理解unicode表达式到其各自字符的翻译时遇到了一些困难。我一直在看unicode规范,并且遇到了各种格式如下的字符串U+1F600据我所知,似乎没有内置的函数知道如何将这些字符串转换为适用于Python的正确格式,例如\U0001F600

在我的节目,我已经做了一个小的正则表达式,会发现这些U\+.{5}模式和替换U+\U000不过,我发现的是,这个语法是不是所有Unicode字符,比如0宽度加入,实际上是应该从翻译同U+200D\u200D

因为我不知道正确的unicode转义序列的每个变体,所以处理这种情况的最佳方法是什么?我只能检查有限数量的这些特殊字符,还是我会完全以错误的方式进行处理?

Python版本是2.7。

威姆

我认为您最可靠的方法是将数字解析为整数,然后使用unichr该代码点进行查找:

unichr(0x1f600)  # or: unichr(int('1f600', 16))

注意:在Python 3上,它仅为chr

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章