Python 2.4 では、Unicode テキストを変換する必要がありますファイルに書き込む前にバイト文字列に変換します。 encode('utf8') メソッドを使用すると、Unicode 文字列を UTF-8 にエンコードできます。ファイルの内容を Unicode オブジェクトとして読み取るには、decode('utf8') メソッドを使用できます。
バイナリ ファイルとテキスト ファイルを区別することが重要です。バイナリ ファイルはデータをそのまま保存しますが、テキスト ファイルは特定の文字エンコーディング (通常は UTF-8) を前提としています。 Unicode オブジェクトをファイルに書き込むときは、誤解を避けるために目的のエンコーディングを指定することが重要です。
Python 2.6 以降の io モジュールは、io.open 関数を提供します。これにより、開くときにファイルのエンコーディングを指定できます。 io.open を使用すると、ファイルの内容を Unicode オブジェクトとして直接読み取ることができます。
<code class="python">import io f = io.open("test", mode="r", encoding="utf-8") text = f.read() # text is a Unicode object</code>
Python 3.x では、io.open 関数は組み込みの open 関数のエイリアスであり、エンコーディング引数:
<code class="python">open("test", mode="r", encoding="utf-8") # returns a Unicode-reading file object</code>
別のオプションは、コーデック モジュールの open 関数を使用することです:
<code class="python">import codecs f = codecs.open("test", "r", "utf-8") text = f.read() # text is a Unicode object</code>
ただし、次のことを使用することに注意してください。 codecs.open は、read() 操作と readline() 操作を混合すると問題が発生する可能性があります。
UTF-8 は、幅広い範囲をサポートする多用途の文字エンコーディングです。言語文字の。デフォルトでは、Python はファイルをバイナリ ストリームとして扱います。エンコードを明示的に指定すると、Python はファイルの内容を Unicode として正しく解釈できるようになり、文字解釈の問題を回避できます。
エンコードとデコードの概念を理解し、適切なツール (io.open) を使用するまたは codecs.open)、ファイル内の Unicode テキストを操作することが、Python でのシームレスなデータ操作にとって重要である場合。
以上がPython で Unicode (UTF-8) テキストをファイルに読み書きするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。