Pythonの中国語コードが文字化けする
私はPythonスクリプトに触れ始めたのですが、始めてすぐに中国語の文字化けの問題に遭遇しました。
インターネット上の情報と組み合わせて要約すると、次のとおりです。
Python の文字列の内部表現は Unicode エンコーディングであるため、エンコーディング変換を行う場合、通常は中間エンコーディングとして Unicode を使用する必要があります。つまり、最初に他のエンコーディングの文字列を変換し、デコードして Unicode に変換し、次に Unicode から別のエンコーディングにエンコードします。
decode デコード。この関数は、str1.decode('gb2312') など、他のエンコードされた文字列を Unicode エンコードに変換することです。これは、gb2312 でエンコードされた文字列 str1 を Unicode エンコードに変換することを意味します。
エンコード エンコード。この機能は、Unicode エンコードを str2.encode('gb2312') などの他のエンコード文字列に変換することです。これは、Unicode エンコード文字列 str2 を gb2312 エンコードに変換することを意味します。
文字列がすでに Unicode である場合、デコード時にエラーが発生するため、通常はそのエンコード方法が Unicode であるかどうかを判断する必要があります:
isinstance(s, unicode) #Unicode かどうかを判断するために使用されます
非 Unicode エンコード形式で str を使用してエンコードするとエラーが発生します
システムのデフォルトのエンコードを取得するにはどうすればよいですか?
#!/usr/bin/python
#coding=utf-8
import sys
print sys.getdefaultencoding()
英語版 WindowsXP でのこのプログラムの出力は次のとおりです: ascii
一部の IDE では、文字列の出力が常に文字化けしたり、エラーになったりすることがあります。実際、これはプログラム自体の問題ではなく、IDE の結果出力コンソール自体が文字列のエンコーディングを表示できないことが原因です。
UliPad で次のコードを実行すると:
s=u"中国語" #Unicode エンコードを指定する
print s
がプロンプトを表示します: UnicodeEncodeError: 'ascii' codec can't encodecharacters in Position 0-1: ordinal範囲内にありません(128)。これは、英語版 Windows 上の UliPad のコンソール情報出力ウィンドウが原因です。
最後の文を print s.encode('gb2312') に変更します
単語「中国語」は正しく出力できます。
最後の文を print s.encode('utf8')
に変更すると、出力は xe4xb8xadxe6x96x87 になります。これは、コンソール情報出力ウィンドウが ASCII エンコードに従って utf8 でエンコードされた文字列を出力した結果です。
unicode(str,'gb2312') と str.decode('gb2312') は同じで、どちらも gb2312 でエンコードされた str を Unicode エンコードに変換します
str のエンコード形式を表示するには str.__class__ を使用します
原則 話した後長い間、私は次のコードを思いつきました:
#coding=utf-8
#!/usr/bin/python
s="中文"
if isinstance(s, unicode) :
print s .encode('gb2312')
else:
print s.decode('utf-8').encode('gb2312')

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このチュートリアルでは、Pythonを使用してZIPFの法則の統計的概念を処理する方法を示し、法律の処理時にPythonの読み取りおよび並べ替えの効率性を示します。 ZIPF分布という用語が何を意味するのか疑問に思うかもしれません。この用語を理解するには、まずZIPFの法律を定義する必要があります。心配しないでください、私は指示を簡素化しようとします。 ZIPFの法則 ZIPFの法則は単に意味します。大きな自然言語のコーパスでは、最も頻繁に発生する単語は、2番目の頻繁な単語のほぼ2倍の頻度で表示されます。 例を見てみましょう。アメリカ英語の茶色のコーパスを見ると、最も頻繁な言葉は「thであることに気付くでしょう。

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

ノイズの多い画像を扱うことは、特に携帯電話や低解像度のカメラの写真でよくある問題です。 このチュートリアルでは、OpenCVを使用してPythonの画像フィルタリング手法を調査して、この問題に取り組みます。 画像フィルタリング:強力なツール 画像フィルター

PDFファイルは、クロスプラットフォームの互換性に人気があり、オペレーティングシステム、読み取りデバイス、ソフトウェア間でコンテンツとレイアウトが一貫しています。ただし、Python Plansing Plain Text Filesとは異なり、PDFファイルは、より複雑な構造を持つバイナリファイルであり、フォント、色、画像などの要素を含んでいます。 幸いなことに、Pythonの外部モジュールでPDFファイルを処理することは難しくありません。この記事では、PYPDF2モジュールを使用して、PDFファイルを開き、ページを印刷し、テキストを抽出する方法を示します。 PDFファイルの作成と編集については、私からの別のチュートリアルを参照してください。 準備 コアは、外部モジュールPYPDF2を使用することにあります。まず、PIPを使用してインストールします。 ピップはpです

このチュートリアルでは、Redisキャッシングを活用して、特にDjangoフレームワーク内でPythonアプリケーションのパフォーマンスを向上させる方法を示しています。 Redisのインストール、Django構成、およびパフォーマンスの比較をカバーして、Beneを強調します

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

データサイエンスと処理のお気に入りであるPythonは、高性能コンピューティングのための豊富なエコシステムを提供します。ただし、Pythonの並列プログラミングは、独自の課題を提示します。このチュートリアルでは、これらの課題を調査し、グローバルな承認に焦点を当てています

このチュートリアルでは、Python 3にカスタムパイプラインデータ構造を作成し、機能を強化するためにクラスとオペレーターのオーバーロードを活用していることを示しています。 パイプラインの柔軟性は、一連の機能をデータセットに適用する能力にあります。
