Ubuntu で実行されている Python 2.7 では、このコード:
f = open("testfile.txt", "w")
f.write("Line one".encode("utf-16"))
f.write(u"\r\n".encode("utf-16"))
f.write("Line two".encode("utf-16"))
Gedit で読み取ると、2 行のテキストの間に必要な改行が生成されます。
Line one
Line two
ただし、同じコードを Windows 7 で実行してメモ帳で読み取ると、「1 行目」の後に判読できない文字が生成されますが、メモ帳では改行が認識されません。Ubuntu で得られる出力と一致するように、Windows で UTF-16 の正しい改行文字を書き込むにはどうすればよいですか?
Unicode UTF-16 のみを読み取る Windows 専用アプリケーションの出力を作成しています。さまざまなヒントを試すのに何時間も費やしましたが、メモ帳ではうまくいかないようです。Notepad でテキスト ファイルを UTF-16 に正常に変換できることは言及しておく価値がありますが、最初にスクリプトでエンコーディングを正しく保存することをお勧めします。