ホームページ >バックエンド開発 >Python チュートリアル >Python コーディングの問題に対処するために Python を学習する

Python コーディングの問題に対処するために Python を学習する

WBOY
WBOYオリジナル
2016-06-16 08:47:131027ブラウズ

まとめると、python1.6からはunicode文字も処理できるようになりました。
1. いくつかの一般的なエンコード形式。
1.1、ASCII、1 バイトで表されます。
1.2. UTF-8 は 1 ~ 3 バイトで表されます。ASCII エンコードは UTF-8 のサブセットです。
1.3、UTF-16。Python では、Unicode の意味は UTF-16 です。
2. Python ソースファイルのエンコードとデコード 作成した Python プログラムの生成から実行までのプロセスは次のとおりです。
エディタ----> ソースコード--- -> ;インタプリタ---->出力結果
2.1. エディタはソースコードのエンコード形式を決定します(エディタで設定)
2.2. インタプリタはソースコードのエンコード形式も知っている必要があります(残念ながら、エンコードされたデータからソースファイルのエンコード形式を知ることは困難です)
2.3. 補足: Windows で UltraEdit を使用してソースコードを UTF-8 として保存すると、BOM マークが記録されます。ただし、Eclipse を使用してソース ファイルを編集すると、エディターではファイル エンコーディングが UTF- として指定されていますが、ActivePython インタープリターはソース ファイルが UTF-8 形式であることを自動的に認識します。 8 では、BOM マークが記録されていないため、ソース ファイルの先頭に BOM マークを記録する必要があります。 #coding=utf-8 を追加すると、コメントを使用してソース ファイルのエンコード方法についてインタプリタに指示することができます。
2.4. 例: たとえば、「私は中国人です」を端末に出力したいとします。

コードをコピーします コードは次のとおりです:

#coding=utf-8 は、Python インタープリターに utf- を使用するように指示します。 8 エンコーディング、I Use eclipse+pydev
print "I am Chinese" #ソース ファイル自体も UTF-8 エンコーディングで保存する必要があります

3. エンコーディング変換、2 つのエンコーディング変換用の転送ステーションとして UTF-16 を使用する必要があります。
例: 「民間中国人」という内容を含むテキスト ファイル jap.txt がある場合、エンコード形式は日本語エンコード SHIFT_JIS、
テキスト ファイル chn.txt もあります、内容は「中華人民共和国」、エンコード形式は中国語エンコード GB2312 です。
文字化けを表示せずに 2 つのファイルの内容を結合して utf.txt に保存するにはどうすればよいですか? UTF-8 には中国語のエンコードと日本語が含まれているため、2 つのファイルの内容を UTF-8 形式に変換できますか?エンコーディング。
コードをコピー コードは次のとおりです:

#coding=utf-8
try:
JAP =open( "e:/jap.txt","r")
CHN=open("e:/chn.txt","r")
UTF=open("e:/utf.txt "," w")
jap_text=JAP.readline()
chn_text=CHN.readline()
#まず UTF-16 にデコードし、次に UTF-8 にエンコードします
jap_text_utf8=jap_text。 decode(" SHIFT_JIS").encode("UTF-8") #utf-8 に変換しなくても実行できます
chn_text_utf8=chn_text.decode("GB2312").encode("UTF-8")#Theエンコード方式は大文字と小文字の両方です。utf-8 についても同様です。
UTF.write(jap_text_utf8)
UTF.write(chn_text_utf8)
IOError,e:
print "オープン ファイル エラー" を除きます。 ,e

4. Tk ライブラリは、ASCII、UTF-16、UTF-8 をサポートしています
コードをコピーします コードは次のとおりです。

#coding=utf-8
from Tkinter import *
try:
JAP=open("e:/jap.txt ","r")
str1=JAP.readline( )
例外 IOError,e:
print "ファイルオープンエラー",e
root=Tk()
label1=Label( root,text=str1.decode("SHIFT_JIS")) #if デコードしないと文字化けが表示されます
label1.grid()
root.mainloop()

上記Python を学習して Python エンコーディングを処理する基本的なプロセスです。皆さんのお役に立てれば幸いです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。