我有一个非常长的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字符串,以及正确的解压缩方法是什么?