【发布时间】:2018-09-29 14:09:03
【问题描述】:
我有一个表情符号的 Unicode 代码点,表示为 U+1F498:
emoticon = u'\U0001f498'
我想得到这个字符的utf-16十进制组,根据this website是55357和56472。
我尝试做print emoticon.encode("utf16"),但根本没有帮助我,因为它提供了一些其他字符。
此外,尝试从 UTF-8 解码,然后按照 print str(int("0001F498", 16)).decode("utf-8").encode("utf16") 将其编码为 UTF-16 也无济于事。
如何正确获取 unicode 字符的 utf-16 十进制组?
【问题讨论】:
-
这里基本上有两个独立的问题:如何将十六进制字符串转换为 unicode 字符(或代码点),以及如何将 unicode 字符转换为 utf-16 十进制组。您介意我们删除第一个问题,并假设输入是 unicode 字符或代码点,而不是十六进制字符串吗?
-
看,与此同时,我在这里stackoverflow.com/questions/49145161/… 找到了这个线程,其中的答案显示了如何做完全相反的事情。但这有点难以理解。如何获得这两个数字?是的,请,任何帮助将不胜感激!提前谢谢你!
-
只是一个建议:立即升级到 Python 3。一些事情发生了变化,特别是在字符串领域,学习一门过时的语言几乎没有用处。
标签: python python-2.7 unicode encoding utf-16