截断unicode,以便在进行电汇编码时适合最大大小

发布于 2021-01-29 15:24:17

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

  • 字符串被编码为某种字节顺序格式(例如UTF-8或JSON Unicode转义)
  • 编码字符串的最大长度

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

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

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

也可以看看:

关注者
0
被浏览
47
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    def unicode_truncate(s, length, encoding='utf-8'):
    encoded = s.encode(encoding)[:length]
    return encoded.decode(encoding, 'ignore')
    

    这是unicode字符串的示例,其中每个字符在UTF-8中用2个字节表示:

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


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看