0

我正在创建一个使用(几乎)所有 unicode 字符的压缩/加密程序,然后将数据写入文件。但是,要写入文件,我需要将字符编码为字节。但是,当我这样做时,它给出了这个错误:

unicodeencodeerror: 'utf-8' codec can't encode character '\udd7d' in position 1323: surrogates not allowed

我已经尝试了所有内置的python编解码器,除了'utf-7'之外,它们都不起作用,但是,这只是将unicode编码为base64,这违背了我想要实现的目标。

file = open(str(file_name.capitalize()) + ".Unicode_File","wb")
    file.write(unicode_madness.encode("utf-8"))
    file.close()

我希望它将变量“unicode_madness”写入文件,它确实如此,但有时它会尝试使用代理 unicode 字符。

为了解决这个问题,我要么需要能够避免使用代理字符(同时保持压缩无损),要么我需要找出哪些 unicode 字符使用代理,然后我可以相应地调整程序。

谢谢你的帮助!

4

0 回答 0