Python で中国語を使用する方法
まず Python のバージョンを見てみましょう:
>>> import sys
>>> sys.version
'2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [ MSC v .1310 32 ビット (Intel)]'
(1)
メモ帳を使用してファイル ChineseTest.py を作成します。デフォルトの ANSI:
s = "中国語"
print s
テストして確認してください:
E:ProjectPythonTest>python ChineseTest.py
ファイル " ChineseTest.py"、行 1
SyntaxError: 非 ASCII 文字 'xd6'ファイル ChineseTest.py の 1 行目でエンコーディングが宣言されていません。詳細については、http://www.python.org/peps/pep-0263.html を参照してください。
ファイル エンコーディングを密かに UTF-8 に変更します。
E:ProjectPythonTest>python ChineseTest.py
ファイル " ChineseTest.py"、行 1
SyntaxError: ファイル ChineseTest.py の行 1 に非 ASCII 文字 'xe4' がありますが、エンコーディングが宣言されていません。詳細については http://www.python.org/peps/pep-0263.html
は役に立ちません。 。 。
URL が提供されるので、見てみましょう。簡単に閲覧した結果、ファイル内に非 ASCII 文字が含まれている場合は、1 行目または 2 行目にエンコーディング ステートメントを指定する必要があることがわかりました。 ChineseTest.py ファイルのエンコードを ANSI に変更し、エンコード ステートメントを追加します:
#coding=gbk
s = " Chinese"
print s
再試行:
E :ProjectPythonTest>python ChineseTest.py
中国語
通常:)
(2)
長さを見てください:
#coding =gbk
s = "中文"
print len(s)
結果: 4.ここの
は str 型なので、計算すると漢字 1 文字が英語 2 文字に相当するため、長さは 4 になります。
次のように書きます:
#coding=gbk
s = "中文"
s1 = u"中文"
s2 = unicode(s, "gbk") #パラメータを省略すると、 python デコードするデフォルトの ASCII
s3 = s.decode("gbk") #str を Unicode に変換することはデコードであり、Unicode 関数は同じ効果があります
print len(s1)
print len(s2)
print len(s3)
結果:
2
2
2
(3)
次に、ファイル処理を見てみましょう:
ファイル test.txt を作成します。ファイル形式は ANSI、内容は次のとおりです:
abc Chinese
Python を使用して
#coding=gbk
print open("Test.txt") を読み取ります。 read( )
結果: abc 中国語
ファイル形式を UTF-8 に変更します:
結果: abc涓枃
明らかに、ここではデコードが必要です:
#coding=gbk
import codecs
print open("Test.txt").read().decode("utf-8")
結果: abc Chinese
上記の test.txt の編集には Editplus を使用しましたが、 Windows に付属のメモ帳を使用して編集し、UTF-8 形式で保存すると、
実行時にエラーが発生します:
トレースバック (最新の呼び出しは最後):
ファイル " ChineseTest.py",行 3、
print open("Test.txt").read().decode("utf-8")
UnicodeEncodeError: 'gbk' コーデックは文字 u'ufeff' をエンコードできません位置 0: 不正なマルチバイト シーケンス
メモ帳などの一部のソフトウェアは、UTF-8 でエンコードされたファイルを保存するときに、ファイルの先頭に 3 つの非表示文字 (0xEF 0xBB 0xBF、または BOM) を挿入することが判明しました。ファイル。 。
したがって、読み取り時にこれらの文字を自分で削除する必要があります。Python のコーデック モジュールは次の定数を定義します。
#coding=gbk
import codecs
data = open("Test.txt") .read ()
if data[:3] == codecs.BOM_UTF8:
data = data[3:]
print data.decode("utf-8")
結果: abc 中国語
(4) 残った問題
後半では、unicode 関数と decode メソッドを使用して str を Unicode に変換します。これら 2 つの関数のパラメーターに「gbk」が使用されるのはなぜですか?
最初の反応は、コーディング ステートメントで gbk (#coding=gbk) を使用しているということですが、これは本当にそうなのでしょうか?
ソース ファイルを変更します:
#coding=utf-8
s = "中国語"
print unicode(s, "utf-8")
実行、エラー メッセージ:
トレースバック (最新の呼び出しは最後):
ファイル " ChineseTest.py"、行 3、
s = unicode(s, "utf-8")
UnicodeDecodeError: 'utf8' コーデックは可能です' t 位置 0-1 のバイトをデコードします: 無効なデータ
明らかに、以前の正常性が両側で gbk が使用されているためである場合、ここでは両側で utf-8 の一貫性を維持し、正常である必要があります。エラーが報告されます。
ここでも変換に gbk を使用する場合のさらなる例:
#coding=utf-8
s = "中国語"
print unicode(s, "gbk")
結果:中国語
Python での print の原理を大まかに説明している英語の資料を読みました。
Python が print ステートメントを実行すると、出力がオペレーティング システムに (fwrite() などを使用して) 渡されるだけです。たとえば、Windows では、Windows コンソール サブシステムが結果を表示します。また、Windows を使用していて、他の場所で Python を実行している場合は、他のプログラムがその出力を画面に表示します。実際にデータを表示するのは Windows SSH クライアントです。Unix 上の xterm で Python を実行している場合、xterm と X サーバーが表示を処理します。
データを確実に出力するには、次のことを理解しておく必要があります。
簡単に言えば、Python の print は文字列をオペレーティング システムに直接渡すため、オペレーティング システムと一致する形式に str をデコードする必要があります。 Windows は CP936 (gbk とほぼ同じ) を使用するため、ここでは gbk を使用できます。
最終テスト:
#coding=utf-8
s = "中国語"
print unicode(s, "cp936")
結果: 中国語

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonコードをSublimeテキストで実行するには、最初にPythonプラグインをインストールし、次に.pyファイルを作成してコードを書き込み、Ctrl Bを押してコードを実行する必要があります。コードを実行すると、出力がコンソールに表示されます。

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

メモ帳でPythonコードを実行するには、Python実行可能ファイルとNPPEXECプラグインをインストールする必要があります。 Pythonをインストールしてパスを追加した後、nppexecプラグインでコマンド「python」とパラメーター "{current_directory} {file_name}"を構成して、メモ帳のショートカットキー「F6」を介してPythonコードを実行します。
