gpt4 book ai didi

python - 截断 unicode,以便在为电汇编码时适合最大大小

转载 作者:IT老高 更新时间:2023-10-28 12:52:27 27 4
gpt4 key购买 nike

给定一个 Unicode 字符串和这些要求:

  • 将字符串编码为某种字节序列格式(例如 UTF-8 或 JSON unicode 转义)
  • 编码后的字符串有最大长度

例如,iPhone 推送服务需要 JSON 编码,最大总数据包大小为 256 字节。

截断字符串以使其重新编码为有效的 Unicode 并合理正确显示的最佳方法是什么?

(人类语言理解不是必需的 - 截断的版本可能看起来很奇怪,例如对于孤立的组合字符或泰语元音,只要软件在处理数据时不会崩溃。)

另见:

最佳答案

def unicode_truncate(s, length, encoding='utf-8'):
encoded = s.encode(encoding)[:length]
return encoded.decode(encoding, 'ignore')

这是一个 Unicode 字符串示例,其中每个字符在 UTF-8 中用 2 个字节表示,如果不忽略拆分的 Unicode 代码点,该字符串会崩溃:

>>> unicode_truncate(u'абвгд', 5)
u'\u0430\u0431'

关于python - 截断 unicode,以便在为电汇编码时适合最大大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1809531/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com