在Python中,根据以字节为单位的最大大小对字符串进行封顶

2024-05-18 08:36:15 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一种编码,是否有一种预先设想的方法根据给定的最大字节大小来“封顶”字符串。插图:

>>> some_string = 'abc'
>>> size_limit = 2
>>> encoding = 'utf-8'
>>> capped_string = cap_to_size(some_string, size_limit, encoding)
>>> capped_string
'ab'

也就是说,函数cap_to_size(也就是说)将切掉字符串中最右边的字符,直到得到的字符串具有给定的大小。如果给定的字符串已经小于大小限制,则不会发生任何事情,并返回原始字符串。你知道吗

对于多字节字符,如果其中一个字节超过了大小限制,则应将其全部丢弃。你知道吗


Tags: to方法字符串编码sizestring字节some
1条回答
网友
1楼 · 发布于 2024-05-18 08:36:15

在我的脑海里(还没有很好的测试):

def cap_to_size(some_string, size_limit, encoding):
    result = ""
    for char in some_string:
        size_limit -= len(char.encode(encoding))
        if size_limit >= 0:
            result += char
        else:
            return result

相关问题 更多 >