
文字エンコーディングとは、グラフィカルな 文字、特に人間の言語の書き言葉に数字を割り当て、デジタルコンピュータを使用して保存、転送、変換できるようにするプロセスです。[1]文字エンコーディングを構成する数値は「コードポイント」と呼ばれ、総称して「コードスペース」、「コードページ」、または「文字マップ」を構成します。
光電信や電信に関連した初期の文字コードは、書き言葉で使用される文字のサブセットしか表すことができず、大文字、数字、一部の句読点のみに限定されることもありました。現代のコンピュータ システムではデータのデジタル表現が低コストであるため、多くの書き言葉で使用されるほとんどの文字を表す、より精巧な文字コード ( Unicodeなど) が使用可能です。国際的に認められた標準を使用した文字エンコードにより、電子形式でのテキストの世界的な交換が可能になります。
ウェブ上で最も使用されている文字エンコーディングはUTF-8で、2024年5月現在、調査対象のウェブサイトの98.2%で使用されています。 [2]アプリケーションプログラムやオペレーティングシステムのタスクでは、UTF-8とUTF-16の両方が人気のある選択肢です。[3] [4]
歴史
文字コードの歴史は、かつては目新しい電気的な手段を使って、機械を介した文字ベースの記号情報を遠くまで送る必要性が高まってきたことを示しています。最も初期のコードは、ベーコンの暗号、点字、国際海洋信号旗、中国の電信コード( Hans Schjellerup 、1869)の漢字 4 桁エンコードなど、手動および手書きのエンコードおよび暗号化システムに基づいていました。電気および電気機械技術の採用により、これらの初期のコードは、初期のマシンの新しい機能と制限に合わせて調整されました。1840 年代に導入された、最もよく知られている電気的に送信される文字コードであるモールス信号は、4 つの「記号」(短い信号、長い信号、短いスペース、長いスペース) のシステムを使用して、可変長のコードが生成されました。モールス信号は機械を介して商業的に使用されることもあったが、多くの場合は手動で電信キーで生成され、耳で解読できる手動コードとして使用され、アマチュア無線や航空業界でも使用されている。ほとんどのコードは、文字ごとに固定長であるか、固定長コードの可変長シーケンスである(例:Unicode)。[5]
文字エンコード システムの一般的な例としては、モールス信号、Baudot コード、米国標準情報交換コード(ASCII)、Unicode などがあります。明確に定義され、拡張可能なエンコード システムである Unicode は、以前のほとんどの文字エンコードに取って代わりましたが、現在までのコード開発の経緯はよく知られています。
5ビットのエンコーディングであるBaudotコードは、 1870年にÉmile Baudotによって作成され、1874年に特許を取得し、1901年にDonald Murrayによって修正され、1930年にCCITTによって国際電信アルファベット第2号 (ITA2) として標準化されました。Baudotという名前は、ITA2とその多くの変種に誤って適用されてきました。ITA2には多くの欠点があり、多くの機器メーカーによって改良されたため、互換性の問題が発生することがありました。1959年に米国軍は、米国陸軍通信部隊によって導入された6ビットまたは7ビットのコードであるFieldataコードを定義しました。Fieldataは、当時の最新の問題の多くに対処しましたが(機械照合用に調整された文字と数字のコードなど)、目標には達せず、短命に終わりました。 1963 年に最初の ASCII コード (X3.4-1963) が ASCII 委員会 (Fieldata 委員会のメンバー WF Leubbert が少なくとも 1 人含まれていた) によってリリースされ、より単純なコードを使用して Fieldata の欠点のほとんどが解決されました。変更の多くは微妙なもので、特定の数値範囲内で照合可能な文字セットなどがありました。ASCII63 は成功し、業界で広く採用され、その後の 1967 ASCII コード (小文字を追加し、いくつかの「制御コード」の問題を修正) のリリースにより、ASCII67 はかなり広く採用されました。ASCII67 のアメリカ中心の性質は、ヨーロッパのECMA-6標準である程度解決されました。[6]

ハーマン・ホレリスは、 19 世紀後半に国勢調査データを分析するためにパンチ カードのデータ エンコーディングを発明しました。当初は、各穴の位置が異なるデータ要素を表していましたが、後に数値情報は下段に 0 から 9 の番号を付けることでエンコードされ、列のパンチがその行番号を表すようになりました。後にアルファベット データは、列ごとに複数のパンチを許可することでエンコードされました。電気機械式集計機は、機械を通るカードの動きに対するパルスのタイミングによって内部的に日付を表しました。IBMが電子処理に移行したとき、IBM 603電子乗算器から始めて、パンチ カード コードに関連付けられたさまざまなバイナリ エンコーディング スキームを使用しました。
IBMは、1953年の702 [7]および704コンピュータ、その後の7000シリーズおよび1400シリーズ、ならびに関連周辺機器で、いくつかの2進化10進数(BCD )6ビット文字エンコード方式を使用していました。当時使用されていたパンチカードコードでは、数字、大文字の英語アルファベット、およびいくつかの特殊文字しか使用できなかったため、6ビットで十分でした。これらのBCDエンコードは、既存の単純な4ビット数値エンコードを拡張してアルファベットと特殊文字を含め、すでに広く使用されていたパンチカードエンコードに簡単にマッピングできるようにしました。IBMのコードは主にIBM機器で使用されていました。当時の他のコンピュータベンダーは独自の文字コード(多くの場合6ビット)を持っていましたが、通常はIBM機器で作成されたテープを読むことができました。これらの BCD エンコーディングは、IBM の拡張 2 進化 10 進コード(通常は EBCDIC と略される)の前身であり、小文字を含むより大きな文字セットを特徴とする 8 ビット エンコーディング スキームで、1963 年にIBM System/360用に開発されました。
1980 年代の研究者たちは、普遍的に互換性のある文字エンコーディングを開発しようとする際に、一方では、追加の文字を収容するためにビットを追加する必要があるように思われるが、他方では、ラテン アルファベットの比較的小さな文字セットのユーザー (当時もコンピューター ユーザーの大半を占めていた) にとって、それらの追加ビットは当時希少で高価なコンピューター リソースの莫大な無駄遣いとなる (それらのユーザーの場合、それらのビットは常にゼロに設定されるため) というジレンマに直面しました。1985 年当時、平均的なパーソナル コンピューター ユーザーのハード ディスク ドライブは約 10 メガバイトしか保存できず、卸売市場での価格はおよそ 250 ドル (小売店で個別に購入するとさらに高額) でした[8] 。そのため、当時はすべてのビットを有効活用することが非常に重要でした。
最終的に発見され、 Unicode [曖昧]に開発された妥協案は、各文字が常に特定のビット シーケンスに直接対応するという仮定 (電信コードにまで遡る) を打破することでした。代わりに、文字は最初にコード ポイントと呼ばれる抽象的な数値の形式で、汎用的な中間表現にマッピングされます。次に、コード ポイントは、コンテキストに応じてさまざまな方法と、1 文字あたりのさまざまなデフォルトのビット数 (コード ユニット) で表されます。8 ビット ユニットの場合は 256 を超えるなど、コード ユニットの長さよりも長いコード ポイントをエンコードするための解決策は、エスケープ シーケンスによって後続のビットをより高いコード ポイントとして解析するように指示する 可変長エンコードを実装することでした。
用語
非公式には、「文字エンコーディング」、「文字マップ」、「文字セット」、および「コードページ」という用語は、しばしば同じ意味で使用されます。[9]歴史的には、同じ標準で文字のレパートリーと、それらをコード単位のストリームにエンコードする方法が指定されていました。通常、コード単位ごとに1つの文字です。ただし、より洗練された文字エンコーディングの出現により、これらの用語の区別が重要になりました。
- 文字は意味的な価値を持つテキストの最小単位である。[9] [10]
- 文字セットは、テキストを表すために使用される要素の集合です。[9] [10]たとえば、ラテンアルファベットとギリシャ語アルファベットはどちらも文字セットです。
- コード化文字セットは、一意の数字のセットにマッピングされた文字セットです。[10]歴史的な理由から、これはコードページと呼ばれることもあります。[9]
- 文字レパートリーとは、特定のコード化文字セットで表現できる文字の集合である。[10] [11]レパートリーは閉じている場合があり、つまり新しい標準を作成しない限り追加は許可されない(ASCIIやISO-8859シリーズのほとんどがこれに該当する)か、オープンな場合があり、追加が許可(Unicodeや限られた範囲でのWindowsコードページがこれに該当する)される。[11]
- コードポイントとは、コード化された文字セット内の文字の値または位置のことである。[10]
- コード空間とは、コード化された文字セットによってカバーされる数値の範囲である。[10] [12]
- コード単位は、文字エンコーディングで文字を表現できる最小のビットの組み合わせです(コンピュータサイエンスの用語では、文字エンコーディングのワードサイズです)。 [10] [12]たとえば、一般的なコード単位には、7ビット、8ビット、16ビット、32ビットがあります。一部のエンコーディングでは、一部の文字が複数のコード単位を使用してエンコードされます。このようなエンコーディングは可変幅エンコーディングと呼ばれます。
コードページ
「コード ページ」は、コード化された文字セットの歴史的な名前です。
もともと、コードページとはIBM標準文字セットマニュアルの特定のページ番号を指し、特定の文字エンコーディングを定義していました。 [13] Microsoft、SAP、Oracle Corporationなどの他のベンダーも独自のコードページセットを公開しており、最もよく知られているコードページスイートは「Windows」(Windows-1252に基づく)と「IBM」/「DOS」(コードページ437に基づく)です。
標準では特定のページ番号は参照されなくなりましたが、多くの文字エンコーディングは依然としてコード ページ番号で参照されています。同様に、「コード ページ」という用語は、一般的な文字エンコーディングを指すために依然としてよく使用されています。
「コードページ」という用語はUnixやLinuxでは使用されず、通常はロケールのより広い文脈で「charmap」が好まれます。IBMの文字データ表現アーキテクチャ(CDRA)は、コード化された文字セット識別子(CCSID)を使用してエンティティを指定します。それぞれは「文字セット」、「文字セット」、「コードページ」、または「CHARMAP」などと呼ばれます。[12]
コード単位
コード ユニット サイズは、特定のエンコーディングのビット測定に相当します。
- ASCIIのコード単位は7 ビットで構成されます。
- UTF-8、EBCDIC、GB 18030のコード単位は8 ビットで構成されます。
- UTF-16のコード単位は16 ビットで構成されます。
- UTF-32のコード単位は32 ビットで構成されます。
コードポイント
コード ポイントは、コード ユニットのシーケンスによって表されます。マッピングはエンコーディングによって定義されます。したがって、コード ポイントを表すために必要なコード ユニットの数は、エンコーディングによって異なります。
- UTF-8: コード ポイントは、1 つ、2 つ、3 つ、または 4 つのコード ユニットのシーケンスにマップされます。
- UTF-16: コード ユニットは 8 ビット コード ユニットの 2 倍の長さです。したがって、スカラー値が U+10000 未満のコード ポイントは、1 つのコード ユニットでエンコードされます。値が U+10000 以上のコード ポイントには、それぞれ 2 つのコード ユニットが必要です。これらのコード ユニットのペアには、UTF-16 で「Unicode サロゲート ペア」という固有の用語があります。
- UTF-32: 32 ビットのコード単位は十分に大きいため、すべてのコード ポイントが単一のコード単位として表されます。
- GB 18030: コード単位が小さいため、コードポイントごとに複数のコード単位が一般的です。コードポイントは1つ、2つ、または4つのコード単位にマッピングされます。[14]
キャラクター
文字を構成する要素は、文字エンコードによって異なります。
たとえば、発音区別符号付きの文字の場合、それらをエンコードするために 2 つの異なるアプローチを取ることができます。1 つの統合された文字 (合成済み文字と呼ばれる) としてエンコードするか、1 つのグリフに結合された個別の文字としてエンコードすることができます。前者はテキスト処理システムを簡素化しますが、後者はテキストで任意の文字/発音区別符号の組み合わせを使用できます。合字でも同様の問題が発生します。
グリフの異体をどのように処理するかは、特定の文字エンコーディングを構築するときに決定する必要があります。アラビア語やヘブライ語などの一部の表記体系では、異なるコンテキストで異なる方法で結合されるが同じ意味の文字を表す グラフィムなどに対応する必要があります。
Unicode エンコード モデル
Unicodeとその並行規格である ISO/IEC 10646ユニバーサル文字セットは、文字エンコードの統一規格を構成します。Unicode では、文字を直接バイトにマッピングするのではなく、文字を一意の自然数 (コード ポイント)にマッピングするコード化文字セット、それらのコード ポイントを一連の固定サイズの自然数 (コード ユニット) にマッピングする方法、そして最終的にそれらのユニットをオクテット (バイト) のストリームとしてエンコードする方法を個別に定義しています。この分解の目的は、さまざまな方法でエンコードできるユニバーサルな文字セットを確立することです。このモデルを正確に記述するために、Unicode では独自の用語セットを使用してプロセスを記述しています。[12]
抽象文字レパートリー(ACR) は、システムがサポートする抽象文字の完全なセットです。Unicode のレパートリーはオープンであり、時間の経過とともに新しい文字がレパートリーに追加されます。
コード化文字セット( CCS) は、文字をコード ポイントにマッピングする機能です(各コード ポイントは 1 つの文字を表します)。たとえば、特定のレパートリーでは、ラテン アルファベットの大文字「A」はコード ポイント 65 で表され、文字「B」は 66 で表されます。複数のコード化文字セットが同じ文字レパートリーを共有する場合があります。たとえば、ISO/IEC 8859-1と IBM コード ページ 037 および 500 はすべて同じレパートリーをカバーしますが、異なるコード ポイントにマッピングされます。
文字エンコード形式(CEF) は、固定長のビット シーケンスとして数値を表すシステム (つまり、実質的にすべてのコンピュータ システム) での保存を容易にするために、コード ポイントをコード ユニットにマッピングしたものです。たとえば、数値情報を 16 ビット単位で保存するシステムでは、各ユニットで直接表現できるのは 0 から 65,535 までのコード ポイントのみですが、より大きなコード ポイント (たとえば、65,536 から 140 万) は、複数の 16 ビット単位を使用して表現できます。この対応関係は CEF によって定義されます。
文字エンコード方式( CES) は、オクテットベースのファイル システムへの保存やオクテットベースのネットワークを介した送信を容易にするために、コード単位をオクテットのシーケンスにマッピングするものです。単純な文字エンコード方式には、UTF-8、UTF-16BE、UTF-32BE、UTF-16LE、UTF-32LEなどがあります。複合文字エンコード方式 ( UTF-16、UTF-32、ISO/IEC 2022など) は、バイト オーダー マークまたはエスケープ シーケンスを使用して、複数の単純な方式を切り替えます。圧縮方式は、コード単位あたりのバイト数を最小限に抑えようとします ( SCSUやBOCUなど)。
UTF-32BEとUTF-32LEはより単純な CES ですが、Unicode を扱うほとんどのシステムは、固定長 ASCII と下位互換性があり、Unicode コード ポイントをオクテットの可変長シーケンスにマッピングするUTF-8、または固定長 UCS-2BE と下位互換性があり、Unicode コード ポイントを 16 ビット ワードの可変長シーケンスにマッピングするUTF-16BE [引用が必要]のいずれかを使用します。詳細な説明については、 Unicode エンコーディングの比較を参照してください。
最後に、特に Unicode で同じ文字として「統合」されている地域的なバリアントがある場合、 Unicode文字の特定のバリアントを選択するための追加情報を提供する高レベル プロトコルが存在する可能性があります。例として、XML属性 xml:lang があります。
Unicodeモデルでは、文字のシーケンスをバイトのシーケンスに直接割り当てる他のシステムに対して「文字マップ」という用語を使用し、CCS、CEF、CESレイヤーのすべてをカバーしています。[12]
Unicode コードポイント
Unicode では、文字は 'U+' に続いて 16 進数のコードポイント値で表されます。Unicode 標準の有効なコードポイントの範囲 (コードスペース) は U+0000 から U+10FFFF までで、0 から 16 の数字で識別される 17 のプレーンに分かれています。U+0000 から U+FFFF の範囲の文字はプレーン 0 にあり、これは基本多言語プレーン(BMP) と呼ばれます。このプレーンには、最もよく使用される文字が含まれています。他のプレーンの U+10000 から U+10FFFF の範囲の文字は、補助文字と呼ばれます。
次の表にコード ポイント値の例を示します。
例
「ab̲c𐐀」という文字列、つまり Unicode 結合文字 ( U+0332 ̲ COMBINING LOW LINE ) と補助文字 ( U+10400 𐐀 DESERET CAPITAL LETTER LONG I ) を含む文字列を考えてみましょう。この文字列には、論理的には同等である複数の Unicode 表現がありますが、それぞれがさまざまな状況や要件の範囲に適しています。
- 合成文字4つ:
a、、、b̲c𐐀
- 5つの書記素:
a、、、、、b_c𐐀
- 5 つの Unicodeコード ポイント:
U+0061、、、、、U+0062U+0332U+0063U+10400
- 5 つの UTF-32 コード単位 (32 ビット整数値):
0x00000061、、、、、0x000000620x000003320x000000630x00010400
- 6つのUTF-16コード単位(16ビット整数)
0x0061、、、、、、0x00620x03320x00630xD8010xDC00
- 9つのUTF-8コード単位(8ビット値、またはバイト)
0x61、、、、、、、、、、0x620xCC0xB20x630xF00x900x900x80
特に、𐐀 は 1 つの 32 ビット値 (UTF-32)、2 つの 16 ビット値 (UTF-16)、または 4 つの 8 ビット値 (UTF-8) のいずれかで表されることに注意してください。これらの各形式では、グリフを表すために同じ合計ビット数 (32) が使用されますが、実際の数値バイト値がどのように関連しているかは明らかではありません。
トランスコーディング
多くの文字エンコード方式が使用されていること (およびアーカイブされたデータとの下位互換性の必要性) により、文字エンコード方式間でデータを変換するコンピュータ プログラムが数多く開発されてきました。このプロセスはトランスコーディングと呼ばれます。以下に、これらのプログラムの一部を引用します。
- Web ブラウザ– 最近のほとんどの Web ブラウザには、文字エンコードの自動検出機能があります。たとえば、Firefox 3 では、[表示]/[文字エンコード] サブメニューを参照してください。
- iconv – エンコーディングを変換するためのプログラムと標準化されたAPI
- luit – 対話的に実行されるプログラムへの入力と出力のエンコードを変換するプログラム
- International Components for Unicode – 文字セット変換を実行するための C および Java ライブラリのセット。uconv は ICU4C から使用できます。
- エンコーディング.変換 – .NET API [15]
- MultiByteToWideChar/WideCharToMultiByte – ANSIからUnicode、UnicodeからANSIへの変換[16] [17]
一般的な文字エンコーディング
ウェブ上で最も使用されている文字エンコーディングはUTF-8で、2024年5月現在、調査対象のウェブサイトの98.2%で使用されています。 [2]アプリケーションプログラムやオペレーティングシステムのタスクでは、UTF-8とUTF-16の両方が人気のある選択肢です。[3] [4]
- 646 規格
- EBCDIC
- ISO 8859 :
- ISO 8859-1西ヨーロッパ
- ISO 8859-2西ヨーロッパおよび中央ヨーロッパ
- ISO 8859-3西ヨーロッパおよび南ヨーロッパ (トルコ語、マルタ語、エスペラント語)
- ISO 8859-4西ヨーロッパおよびバルト諸国(リトアニア、エストニア、ラトビア、ラップランド)
- ISO 8859-5キリル文字
- ISO 8859-6アラビア語
- ISO 8859-7ギリシャ語
- ISO 8859-8ヘブライ語
- ISO 8859-9西ヨーロッパ(トルコ語文字セットを修正)
- ISO 8859-10西ヨーロッパ、北欧言語の合理化された文字セット(アイスランド語の完全なセットを含む)
- ISO 8859-11タイ語
- ISO 8859-13バルト諸語およびポーランド語
- ISO 8859-14ケルト語族(アイルランド語、ゲール語、スコットランド語、ウェールズ語)
- ISO 8859-15 ISO 8859-1にユーロ記号とその他の合理化を追加しました
- ISO 8859-16中央、東、南ヨーロッパの言語 (アルバニア語、ボスニア語、クロアチア語、ハンガリー語、ポーランド語、ルーマニア語、セルビア語、スロベニア語、フランス語、ドイツ語、イタリア語、アイルランド ゲール語)
- CP437、CP720、CP737、CP850、CP852、CP855、CP857、CP858、CP860、CP861、CP862、CP863、CP865、CP866、CP869、CP872
- MS-Windows 文字セット:
- ラテン文字を使用する中央ヨーロッパ言語用のWindows-1250 (ポーランド語、チェコ語、スロバキア語、ハンガリー語、スロベニア語、セルビア語、クロアチア語、ボスニア語、ルーマニア語、アルバニア語)
- キリル文字の場合はWindows-1251
- 西洋言語用のWindows-1252
- ギリシャ語のWindows-1253
- トルコ語版Windows-1254
- ヘブライ語のWindows-1255
- アラビア語用Windows-1256
- バルト語用のWindows-1257
- ベトナム語版Windows-1258
- Mac OS ローマ字
- KOI8-R、KOI8-U、KOI7
- ミク
- ISCII
- TSCII
- ヴィシ
- JIS X 0208 は、複数のエンコード形式を持つ、広く採用されている日本語文字エンコードの標準です。
- Shift JIS (Microsoftコード ページ 932 はShift_JIS の方言です)
- EUC-JP
- ISO-2022-JP
- JIS X 0213は JIS X 0208 の拡張バージョンです。
- 中国の国標
- GB 2312
- GBK (Microsoft コード ページ 936)
- イギリス 18030
- 台湾Big5 (より有名なバリアントは Microsoftコード ページ 950です)
- 香港HKSCS
- 韓国語
- KS X 1001は韓国語の2バイト文字エンコード規格です。
- EUC-KR
- ISO-2022-KR
- Unicode(および16ビットの「基本多言語面」などのそのサブセット)
- ANSELまたはISO/IEC 6937
参照
- パーセントエンコーディング
- 代替コード
- HTML の文字エンコーディング
- カテゴリ:文字エンコーディング- 文字エンコーディング全般に関する記事
- カテゴリ:文字セット- 特定の文字エンコードを詳述した記事
- 16進数表現
- 文字化け– 文字セットのミスマップ
- 文字鏡– 現代から古代、一般的なものからあまり知られていないものまで、10万以上の漢字の図を含むシステム(「グリフセット」)
- プレゼンテーション層
- TRON プロジェクトの一部であるTRON は、漢字統一を使用しないエンコード システムです。代わりに、「制御コード」を使用して 16 ビットの文字の「プレーン」を切り替えます。
- ユニバーサル文字セット文字
- 文字セットスニッフィング– 文字エンコードメタデータが利用できない一部のアプリケーションで使用されます。
参考文献
- ^ 「文字エンコーディングの定義」。技術用語辞典。2010 年 9 月 24 日。
- ^ ab 「ランク別文字エンコーディングの使用状況調査」W3Techs . 2024年4月29日閲覧。
- ^ ab "Charset". Android Developers . 2021 年1 月 2 日閲覧。
Android に関する注記: Android プラットフォームのデフォルトは常に UTF-8 です。
- ^ ab Galloway, Matt (2012 年 10 月 9 日). 「iOS 開発者向けの文字エンコーディング。それとも UTF-8 にしましょうか?」www.galloway.me.uk . 2021 年1 月 2 日閲覧。
実際には、最も一般的なエンコーディングは UTF-8 であるため、通常は UTF-8 を前提とします。
- ^ Tom Henderson (2014 年 4 月 17 日)。「古代のコンピューター文字コード表 - そしてそれが今でも重要な理由」。Smartbear。2014年4 月 29 日閲覧。
- ^ Tom Jennings (2010年3月1日). 「いくつかの文字コードの注釈付き歴史」 . 2018年11月1日閲覧。
- ^ 「IBM Electronic Data-Processing Machines Type 702 Preliminary Manual of Information」(PDF) 1954年、p. 80、22-6173-1。2022年10月9日時点のオリジナルよりアーカイブ(PDF) 。
- ^ Strelho, Kevin (1985年4月15日). 「IBMがハードディスクを新たな標準に導く」InfoWorld . Popular Computing Inc. pp. 29–33 . 2020年11月10日閲覧。
- ^ abcd Shawn Steele (2005 年 3 月 15 日)。「エンコーディング、コード ページ、文字セット、Unicode の違いは何ですか?」Microsoft Docs。
- ^ abcdefg 「Unicode用語集」。Unicodeコンソーシアム。
- ^ ab 「第3章: 適合性」。Unicode標準バージョン15.0 – コア仕様(PDF)。Unicodeコンソーシアム。2022年9月。ISBN 978-1-936213-32-0。
- ^ abcde Whistler, Ken; Freytag, Asmus (2022年11月11日). 「UTR#17: Unicode 文字エンコーディングモデル」. Unicode コンソーシアム. 2023年8月12日閲覧。
- ^ 「VT510 ビデオ端末プログラマ情報」。Digital Equipment Corporation (DEC)。7.1. 文字セット - 概要。2016 年 1 月 26 日時点のオリジナルよりアーカイブ。2017年2 月 15 日閲覧。ISO
2022
の構造と規則に準拠する従来の
DEC
および
ISO
文字セットに加えて
、
VT510 は
PCTerm モードで多数の IBM PC コード ページ (
IBM の標準文字セット マニュアルの
ページ番号
) をサポートし、業界標準の PC の
コンソール端末をエミュレートします。
- ^ 「用語集 (Java チュートリアル)」。Oracle。2018年3 月 25 日閲覧。
- ^ 「Encoding.Convert メソッド」。Microsoft .NET Framework クラス ライブラリ。
- ^ 「MultiByteToWideChar 関数 (stringapiset.h)」。Microsoft Docs。2021年 10 月 13 日。
- ^ 「WideCharToMultiByte 関数 (stringapiset.h)」。Microsoft Docs。2022年 8 月 9 日。
さらに読む
- Mackenzie, Charles E. (1980)。コード化文字セットの歴史と開発(PDF)。システムプログラミングシリーズ (第 1 版)。Addison -Wesley Publishing Company, Inc. ISBN 978-0-201-14460-4LCCN 77-90165。2016年5月26日時点のオリジナルよりアーカイブ(PDF )。2019年8月25日閲覧。
外部リンク
- Internet Assigned Numbers Authority (IANA) によって登録された文字セット
- 文字とエンコーディング、Jukka Korpela 著
- Unicode 技術レポート #17: 文字エンコーディング モデル
- HTML Unicode の 10 進数、16 進数の文字コード – エンコーディング コンバーター
- ソフトウェア開発者が Unicode と文字セットについて絶対に知っておくべき最低限の知識 (言い訳はなし!) Joel Spolsky (2003 年 10 月 10 日)
