[英]How do I convert an int representing a UTF-8 character into a Unicode code point?
[英]How to convert a unicode integer to utf-8 character?
我有一组 unicode 代码点存储为整数,我想将它们编码为 UTF-8。如果我理解正确,UTF-8 只是整数的编码(它特别用于 unicode 的事实并不是 UTF 的基础-8),所以这应该只是在 UTF-8 编码中编码 integer 的问题。 是否有执行此操作的标准实用程序,如果没有,是否有手动执行此操作的简单方法?
有一个简单的方法。 如果您使用的是 windows,如果由于平台限制超过 UTF-16LE 字符,您可能会遇到问题。 在 linux 上,完整的 unicode 应该是安全的。
>>> my_unicode_codepoints = [1234, 2345, 3456, 4576] # example codepoints
>>> [chr(i) for i in unicode_codepoints] # step 1: use python automagic for casting to wide enough chars
['Ӓ', 'ऩ', '\u0d80', 'ᇠ']
>>> "".join([chr(i) for i in unicode_codepoints]) # step 2: join to string
'Ӓऩ\u0d80ᇠ'
>>> "".join([chr(i) for i in unicode_codepoints]).encode("utf-8") # step 3: encode your string
b'\xd3\x92\xe0\xa4\xa9\xe0\xb6\x80\xe1\x87\xa0'
最后一行是您要查找的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.