我有一条很长的 JSON 消息,其中包含超出 ASCII 表的字符。我将其转换为字符串,如下所示:
messStr = json.dumps(message,encoding='utf-8', ensure_ascii=False, sort_keys=True)
我需要使用将其大小限制为 X 字节的服务来存储此字符串。我想将 JSON 字符串拆分为长度为 X 的片段并分别存储。我在执行此操作时遇到了一些问题(在此处描述),因此我想压缩字符串切片以解决这些问题。我试图这样做:
ss = mStr[start:fin] # get piece of length X
ssc = zlib.compress(ss) # compress it
当我这样做时,我收到以下错误zlib.compress
:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 225: ordinal not in range(128)
压缩 UTF-8 字符串的正确方法是什么,然后解压缩它的正确方法是什么?