Python プログラミングにおける文字列エンコードの問題についての簡単な紹介
この記事では、 Python 文字列プログラミングを紹介します。 String は データ型でもあるとすでに述べましたが、文字列の特別な点 エンコードに問題があるということです。
コンピュータは数値のみを処理できるため、テキストを処理する場合は、処理する前にまずテキストを数値に変換する必要があります。最も初期のコンピュータは、1 バイトとして 8 ビットを使用して設計されました。したがって、1 バイトで表現できる最大の整数は 255 (2 進数の 11111111 = 10 進数の 255) です。より大きな整数を表現したい場合は、より多くのバイトを使用する必要があります。たとえば、2 バイトで表現できる最大整数は 65535、4 バイトで表現できる最大整数は 4294967295 です。
コンピューターはアメリカ人によって発明されて以来、最初にコンピューターにエンコードされたのは、英語の大文字と小文字、数字、および一部の記号の 127 文字だけでした。このエンコード テーブルは ASCII エンコードと呼ばれます。文字 文字 A のコードは 65、小文字 z のコードは 122 です。
しかし、中国語を処理するには、1 バイトでは明らかに不十分です。少なくとも 2 バイトが必要であり、ASCII エンコードと競合することはできません。そのため、中国は中国語をエンコードする GB2312 エンコードを策定しました。
想像できるのは、世界には何百もの言語があるということです。日本では日本語を Shift_JIS にまとめ、韓国では韓国語を Euc-kr にまとめています。各国には独自の規格があり、競合の結果、多言語混合テキストでは表示時に文字化けが発生します。
そこでUnicodeが誕生しました。 Unicode はすべての言語を一連のエンコーディングに統合するため、コードの文字化けの問題はなくなります。
Unicode 標準も常に進化していますが、最も一般的に使用されているのは 2 バイトを使用して文字を表すことです (非常に離れた文字を使用したい場合は 4 バイトが必要です)。最新のオペレーティング システムとほとんどのプログラミング言語は Unicode を直接サポートしています。
ここで、ASCII エンコードと Unicode エンコードの違いを見てみましょう。ASCII エンコードは 1 バイトですが、Unicode エンコードは通常 2 バイトです。
ASCII でエンコードされた文字 A は 10 進数 65、バイナリ 01000001;
ASCII でエンコードされた文字 0 は 10 進数 48、バイナリ 00110000 です。文字「0」は整数とは異なることに注意してください。 0 ;
中国語の文字が ASCII エンコードの範囲を超えています。Unicode エンコードは 10 進数で 20013、2 進数で 01001110 00101101 です。
ASCII エンコードに Unicode エンコードを使用する場合は、先頭に 0 を追加するだけで済むため、A の Unicode エンコードは 00000000 01000001 となります。
新たな問題が発生しました。Unicode エンコーディングに統一されれば、文字化けの問題は解消されます。ただし、作成するテキストが基本的にすべて英語の場合、Unicode エンコードは ASCII エンコードの 2 倍のストレージ容量を必要とし、ストレージと送信の点で非常に不経済です。
そこで、保護の精神から、Unicode エンコードを「可変長エンコード」に変換する UTF-8 エンコードが登場しました。 UTF-8 エンコーディングは、Unicode 文字をさまざまな数値サイズに従って 1 ~ 6 バイトにエンコードします。一般的に使用される英語の文字は 1 バイトにエンコードされ、中国語の文字は通常 3 バイトにエンコードされます。非常にまれな文字のみがエンコードされます。4 ~ 6 にエンコードされます。バイト。送信したいテキストに多数の英語の文字が含まれている場合は、UTF-8 エンコードを使用するとスペースを節約できます。
したがって、多くの Web のソース コードがページには のような情報が含まれ、Web ページが UTF-8 エンコーディングを使用していることを示します。
以上がPython プログラミングにおける文字列エンコードの問題についての簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。
