从 unicode 中删除零填充

Remove zero-padding from unicode

我想获取表情符号的 unicode 表示。

通过下面的代码片段我可以得到它

emoji_rep = unicode('', 'utf-8').encode('unicode_escape')

emoji_rep的值为\U0001f605 但是,我只希望结果为 1f605。有没有 pythonic/elegant 的方法来解决这个问题?此外,一些表情符号具有 unicode 值,例如 \u270b\U0001f3fe。更好的表示方式是 270b+1f3fe.

您使用 ord(u'') 获得代码点。如果需要,可以将其转换为十六进制:例如。通过 hex(ord(u''))"{:x}".format(ord(u'')).

请注意,对于 0x10000 以下的代码点,Unicode 代码点最常见的十六进制表示形式是 U+270B(4 位数字),对于其他代码点,是 U+01F3FE(6 位数字)。