ASCII テーブルを超える文字を含む非常に長い JSON メッセージがあります。次のように文字列に変換します。
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 文字列を圧縮する正しい方法と、それを解凍する正しい方法は何ですか?