加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 23:04:09 所属栏目:Python 来源:网络整理
导读:我想将你的“任意unicode字符串”拆分成300字节的大小块,而不会破坏任何字符.这些字符串将被写入一个需要使用unicode_string.encode(“utf8”)的utf8的套接字.我不想破坏任何角色.我该怎么做? 解决方法 UTF-8专为此而设计. def split_utf8(s,n): """Split U
我想将你的“任意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”和“”“.或者你可能不在乎,只要他们再次陷入僵局.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读