Pythonがファイル内のUnicodeをどのように処理するかを把握できません...
f = open('test.txt', 'w')
f.write('abc')
f.close()
これにより、3バイトのファイルが作成されます。
f = open('test.txt', 'w')
f.write('abcé')
f.close()
これにより、5バイトのファイルが作成されます(éは2バイトを使用しますが、Pythonはそこで2バイトを読み取る必要があることをどのように認識しますか?)
f = open('test.txt', 'w')
f.write('abcそ') # a Japanese character
f.close()
これにより、6バイトのファイルが作成されます(そは3バイトを使用しますが、Pythonはそこで3バイトを読み取る必要があることをどのように認識しますか?)
したがって、Unicodeは2バイトかかることは理解できますが、1バイト、2バイト、または3バイトになることもあり、どのように機能するかわかりません。