エンコードとデコード、中国の文字化け

https://blog.csdn.net/Y601343678/article/details/78585728のp> 

デフォルトのコーディングシステムを取得する方法?

#!は/ usr / binに/ ENVパイソン

#コーディング= UTF-8

輸入SYS

printsys.getdefaultencoding()

プログラムの出力部は、英語WindowsXPのである:アスキー

プログラムの出力部には、英語のWindows7である:MBCS

UliPadは、次のコードで実行します。

S = U "中国"

プリントS

会提示:UnicodeEncodeErrorを:位置0-1の文字をエンコードすることはできません 'ASCII' コーデック:序notinrange(128)。

これは、英語UliPad WindowsXPのコンソールウィンドウに出力をエンコードされた情報出力ASCII(英語システムは、デフォルトのエンコーディングのASCIIである)に従ったものです、

上記のコードは、Unicode文字列であり、エラー出力が生成されます。

最後の文:prints.encode( 'GB2312')

これは、出力に「中国」という言葉も可能です。

もし最後の文:prints.encode( 'UTF8')

出力:\ xe4 \ xb8 \ XAD \ XE6 \ X96 \のx87、

これは、UTF8 ASCIIコードに従って符号化された出力ウィンドウまたはコンソール出力文字列です。

ユニコード(文字列、 '2312')とstr.decode( '2312')は両方ともユニコード符号化STRにエンコードGB2312し、同じです

あなたはSTRのコード化された形を見ることができますclass__ .__使用STR

おすすめ

転載: www.cnblogs.com/heluobing/p/11229255.html