まず、encode() と decode() の違いを理解する必要があります
encode() の機能は、Unicode でエンコードされた文字列を他のエンコード形式に変換することです。
例: st1.encode("utf-8") この文の機能は、Unicode でエンコードされた st1 を utf-8 でエンコードされた文字列にエンコードすることです
decode() の機能は、他のエンコード形式の文字列を Unicode でエンコードされた文字列に変換することです。
例: st2.decode("utf-8") この文の機能は、utf-8 でエンコードされた文字列 st2 を Unicode エンコードされた文字列にデコードすることです
第二に、Unicode でエンコードされた文字列を除き、エンコードされた文字列を他のエンコード形式に変換する場合は、最初にデコードしてからエンコードする必要があります
非 Unicode エンコード --> Unicode エンコード --> 非 Unicode エンコード
たとえば、utf-8 でエンコードされた文字列 st を gbk エンコードされた文字列に変換したい場合は、次の手順を実行する必要があります:
st=st.decode("utf-8") #Unicode エンコードにデコードします
st=st.encode("gbk") #Unicode エンコードから gbk エンコードにエンコードします
第三に、私たちがよく使用する utf-8 エンコーディングも BOM と BOM フリーに分けられます。
4 番目: json ファイルの中国語エンコードについて。 Python で Json ファイルを読み取る場合、json.load() 関数がよく使用されます。この関数には、json ファイルの形式に関する要件があります
。1) json ファイルは BOM エンコードなしの utf-8 であるため、 json.load(filename) 関数を直接使用して json ファイルの内容を読み取ることができます
2) json ファイルは BOM エンコーディングの utf-8 であるため、json.load() 関数を使用して読み取ることができません。json.load() はそれを正しく識別できません。
3) json ファイルが gbk などの他のエンコードでエンコードされている場合、json ファイルのエンコード形式をパラメータとして json.load() に渡す必要があります。
例: json.load(ファイル名,"gbk")5 つ目は、自分のファイルのエンコーディングを確認して設定する方法です。
個人的なお気に入りツール「Nodtepad++」を紹介します。これは、ソフトウェアマネージャーからワンクリックでインストールできます。
このツールを使用すると、ファイルの現在のエンコードを簡単に確認し、他のエンコード形式に簡単に変換できます