我在理解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] 删除。
我来说两句