我有一组存储为整数的unicode代码点,我想将它们编码为UTF-8.如果我理解正确的话,UTF-8只是一种整数编码(尤其是用于unicode的事实对UTF-8来说并不是最基本的),所以这应该只是在UTF-8编码中编码一个整数的问题.是否有一个标准的实用程序来实现这一点,如果没有,是否有一种简单的手动实现方法?

推荐答案

有一个简单的方法.如果在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'

最后一行是您要查找的结果.

Python相关问答推荐

当单元测试失败时,是否有一个惯例会抛出许多类似的错误消息?

将CSS链接到HTML文件的问题

Autocad使用pyautocad/comtypes将对象从一个图形复制到另一个图形

如何在PythonPandas 中对同一个浮动列进行逐行划分?

Polars表达式无法访问中间列创建表达式

正在try 让Python读取特定的CSV文件

时长超过24小时如何从Excel导入时长数据

遍历列表列表,然后创建数据帧

如果列包含空值,则PANAS查询不起作用

为什么在生成时间序列时,元组索引会超出范围?

合并Pandas中的数据帧,但处理不存在的列

SQL模型中包含日期时间的TypeError

用考克斯回归的生存分析系列的真值是模棱两可的.

Df.Drop_Duplates(),以极点表示?

如何从表示音频的Numy数组中提取持续时间和偏移量?

没有目标的验证数据

如何从两对点得到一个二维变换矩阵?

极轴:通过创建多个新列对列进行操作

如何从直接URL和间接URL中提取文件扩展名?

PythonRequests.get以不同的编码提供响应