Python で Unicode を使用する際に問題が発生したため、このプログラムを作成しましたが、結果に混乱しています。実行するたびに、さまざまな文字でエラー #2 が発生します。これは、テスト ファイルに Unicode 文字を書き込もうとしたときに、utf32、utf16、および utf8 のすべてがエラーになったことを意味します。決して同じものではありません。それは私のプログラムの問題ですか、それともPythonが処理するように設計されていない何かをしていますか?
for a in range(65535):
try:
open('test_text.txt','w').write(unichr(a).encode("utf32"))
if len(open('test_text.txt','r').read()) == 0:
print unichr(a) + ' Error #1 #' + str(a)
except IOError:
try:
open('test_text.txt','w').write(unichr(a).encode("utf16"))
except IOError:
try:
open('test_text.txt','w').write(unichr(a).encode("utf8"))
except IOError:
print unichr(a) + ' Error #2 #' + str(a)
except UnicodeEncodeError:
print unichr(a) + ' Error #3 #' + str(a)
raw_input('\n\nEnter char to end:')