如何在Python中生成和编写所有Unicode字符?

时间:2018-07-28 10:35:30

标签: python unicode

我尝试了不同的方法将所有可能的Unicode字符写入文件,但是它给我一个55297-57344范围的错误。哪种编码支持该范围? UnicodeEncodeError: 'utf-8' codec can't encode characters in position 55297-57344: surrogates not allowed

bb=""
for b in range(0, 1114111):
    bb+=chr(b)

with open('allcharacters', 'w', encoding="utf-8") as file:
    file.write(bb)

1 个答案:

答案 0 :(得分:1)

Code points U+D800 through U+DFFF包含在各种"Surrogates" Unicode blocks中。当包含在补充多语言平面中的文本的UTF-16文本被(错误)解码为UCS-2时,它们就会产生;它们绝对不能导致正常运行,也不应被视为字符。