python – 将unicode字符串拆分成300字节的块,而不会破坏字符

前端之家收集整理的这篇文章主要介绍了python – 将unicode字符串拆分成300字节的块,而不会破坏字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将你的“任意unicode字符串”拆分成300字节的大小块,而不会破坏任何字符.这些字符串将被写入一个需要使用unicode_string.encode(“utf8”)的utf8的套接字.我不想破坏任何角色.我该怎么做?

解决方法

UTF-8专为此而设计.
def split_utf8(s,n):
    """Split UTF-8 s into chunks of maximum length n."""
    while len(s) > n:
        k = n
        while (ord(s[k]) & 0xc0) == 0x80:
            k -= 1
        yield s[:k]
        s = s[k:]
    yield s

没有测试.但是你找到一个分割的地方,然后回溯到你到达一个角色的开头.

但是,如果用户可能希望看到一个单独的块,则可能需要拆分图形集群边界.这显然更复杂,但不是棘手的.例如,在“é”中,您可能不想拆分“e”和“”“.或者你可能不在乎,只要他们再次陷入僵局.

猜你在找的Python相关文章