コンピュータ上で日本語を表現するために、相互に互換性のない拡張2進化10進コード(EBCDIC)のバージョンがいくつか使用されてきた。その中には、日立、富士通、IBMなどが定義したバージョンも含まれる。その中には可変幅エンコーディングもあり、ロックシフトコードを使用して1バイトモードと2バイトモードを切り替える。[1]他のEBCDICロケールとは異なり、小文字の基本ラテン文字は通常の位置で保持されないことが多い。[2]
IBMがEBCDICで使用した2バイト日本語コードにはあるが、 JIS X 0208の初版にはない文字は、 IBMコードページ932(「DBCS-PC」)やWindowsコードページ932などの一部の非EBCDICエンコードにあるベンダー拡張にも影響を与えました。[3]
シングルバイトコード
JIS X 0201(それ自体がShift JISに組み込まれている)と同様に、日本語のEBCDICエンコーディングには、多くの場合、1バイトのカタカナのセットが含まれています。日本語ロケールでは、さまざまなベンダーによって、1バイトEBCDICコードのさまざまなバリアントが使用されています。特定のベンダーは、半角カタカナ用とラテン文字用の2つの異なる1バイトコードを定義することもあります。特定のベンダーがカタカナに使用するために好むEBCDICのバリアントは、 Extended Binary-Coded Decimal Interchange Kana code(拡張2進化10進数交換カナコード)の略であるEBCDIKと呼ばれることがあります。[1] [4]
半角カナを組み込んだコードページは、IBM の EBCDIC 不変文字セットの例外です。このセットは、すべての EBCDIC コードページで通常同じようにエンコードされる文字セットを指定します。最も顕著なのは、不変セットの基本ラテンアルファベットの小文字に使用されるコードポイントにカタカナ文字が含まれる場合があることです。 [2]カタカナ文字がその場所に含まれている場合の小文字のエンコード、および小文字が通常の場所に保持されている場合のカタカナ文字のエンコードは、以下に示すようにベンダー間で異なる場合があります。
Microsoft Windows は、コード ページ番号が IBM のコード ページ番号より 20000 大きい 2 つの日本語シングル バイト EBCDIC バリアントを実装しており、コード ページ 20290 ( IBM290「IBM EBCDIC Japanese Katakana Extended」として文書化されています) [5]および 21027 (「Extended/Ext Alpha Lowercase」) です。Windows で実装されているコード ページ 21027 は不完全な実装であり、いくつかの文字とかなの双方向マッピングが欠落しているため[6]、現在は非推奨となっています。[5]
IBMのコードページは後に0xE1にユーロ記号が含まれるように更新され、元のCPGID番号は保持されましたが、新しいCCSID番号が割り当てられました。したがって、CCSID 290はコードページ290のオリジナルバージョンを参照し、ユーロ記号付きのコードページ290のバージョンはCCSID 8482とも呼ばれます。[7]同様に、CCSID 1027はコードページ1027のオリジナルバージョンを参照し、ユーロ記号付きのCPGID 1027のバージョンにはCCSID 5123が割り当てられています。[8]
IBMの2バイト日本語DBCSホストコードページ(CPGID 300、CCSID 300、または16684)のバージョンが2バイトコンポーネントとして使用されているほか、IBMコードページ290は、マルチバイトコードページIBM-930 [9] [10]および(ユーロ更新CCSID 8482として)更新バージョンIBM-1390のシングルバイトコンポーネントとして使用されています。[11] [12] IBMコードページ1027は、マルチバイトコードページIBM-939 [13] [14]および(ユーロ更新CCSID 5123として)更新バージョンIBM-1399のシングルバイトコンポーネントとして使用されています。[15] [16]
次の表では、不変セットへの適合は緑色でマークされ、不変セットとの衝突は赤色でマークされています。
2バイトコード
EBCDICの日本語に使用される2バイト文字コードは3つあります。[31] [32] [3] IBMのIBMコードページ300(IBM漢字またはIBM日本語DBCSホストとも呼ばれる)、[33]日立のKEIS 、[31]富士通のJEFです。[17]これらはDBCSホストエンコーディングであり、異なるシフトコードを使用して1バイトEBCDICモードと2バイトモードを切り替えます。[1]コード0x41から0xFE(EBCDICのグラフィック文字に使用されるコード)は、190×190グリッドの文字を表すためにペアで使用されます。コード0x40( EBCDICのスペース)は、表意文字スペースとして2倍に使用されますが、他の2バイトコードの一部としては使用されません。[1] [33]
IBM版のDBCSホストコードでは、コードが0x0Fシングルバイトモードに切り替わり、コードが0x0Eダブルバイトモードに切り替わります。[1] [9] [13] [11] [15]これは、韓国語のJohabのEBCDIC版など、他のCJK言語用のIBMダブルバイトEBCDICコードと共通です。[1] 。 [34] KEISやJEFとは対照的に、IBMコードページ300のレイアウトはJIS X 0208とは無関係であり、両者間の変換はテーブルを介して行う必要があります。[31]ただし、その文字レパートリーは、JIS X 0208の連続的な改訂に合わせて最新の状態に保たれており、JIS X 0208のレパートリーのスーパーセットであり続けています。[3]先頭バイト0x41から0x44は非漢字文字に使用され、先頭バイト0x45から0x68は漢字文字に使用され、先頭バイト0x69から0x89はUDC(ユーザー定義文字)に使用されます。[33]
IBM の日本語 DBCS ホスト コードの存在は、EBCDIC システムを超えて影響を与えました。IBM は、シフト JIS (「DBCS-PC」、純粋な 2 バイトコード ページ 301で定義され、可変幅コード ページ 932およびコード ページ 942で使用される) およびEUC-JPの変種も定義したためです。これらは IBM コード ページ 300 の全レパートリーをエンコードしており、これには JIS X 0208 に元々含まれていたものに加えて 28 の非漢字と 360 の漢字が追加されています (ただし、符号∵ と符号 ¬ ではない非漢字は、1983 年に JIS X 0208 に後で追加されました)。これらは「IBM 選択」文字と呼ばれ、たとえばWindows コード ページ 932に拡張機能として含まれています。[3]
IBM-300 コード ページの新しいリビジョンでは、先頭バイト 0xB8 から 0xD5 の漢字が追加され、先頭バイト 0xD6 から 0xE9 の非漢字が追加されています。[33]この改訂では、ユーロ記号を含むJIS X 0213のセットが更新され、CPGID 300が保持され、新しいCCSID 16684が割り当てられました。[35]コードページIBM-930(コードページ290をシングルバイトセットとする)[9]、IBM-931(コードページ37をシングルバイトセットとする)[13]、およびIBM-939(コードページ1027をシングルバイトセットとする)[13]ではこれらの追加が除外されていますが、IBM-1390(コードページ290 / CCSID 8482のユーロ記号バージョン)[11]およびIBM-1399(コードページ1027 / CCSID 5123のユーロ記号バージョン)[15]ではこれらが含まれています。
日立 KEIS [31] (漢字処理拡張情報システム) では、シーケンスは0x0A 0x41シングルバイトモードに切り替わり、シーケンスは0x0A 0x42ダブルバイトモードに切り替わります。[a] JIS X 0208 文字は、 EUC-JPでエンコードするのと同じバイトシーケンスを使用してエンコードされます。つまり、両方のバイトが 0xA1 から 0xFE までの範囲になります。これにより、表意文字空間のエンコードが重複します— DBCS-Host コード構造では 0x4040、EUC-JP では 0xA1A1。ただし、先頭バイトの範囲は 0x59 まで拡張され、そのうち 0x81~A0 の先頭バイトはユーザー定義文字に指定され、[1]残りは漢字と非漢字の両方を含む企業定義文字に使用されます。[3]
富士通JEF [17] (日本語処理拡張機能)では、0x29シングルバイトモードに切り替え、0x28ダブルバイトモードに切り替えます。KEISと同様に、JIS X 0208コードはEUC-JPと同じように表現されます。[1] KEISとは異なり、このJEFゾーンで使用されるJIS X 0208版は、オリジナルのJIS C 6226:1978です。[31] [17]リードバイトの範囲は0x41まで拡張され、0x80〜A0はユーザー定義用に指定されています。リードバイト0x41〜7Fには、区点の目的で行番号101〜163が割り当てられていますが、行162 (リードバイト0x7E)は使用されません。[1] [3]行101〜148は拡張漢字に使用され、行149〜163は拡張非漢字に使用されます。[3]
脚注
- ^ これらのシフトシーケンスの16進形式は、Lundeによってリストされた10進形式(
10 65および10 66)と一致します。[1] Lundeは両方のシフトの16進形式を としてリストしていますが0xA0 0x42、これは誤りのようです。
参考文献
- ^ abcdefghij Lunde, Ken (2009). 「付録 F: ベンダーのエンコード方式」(PDF) . CJKV 情報処理: 中国語、日本語、韓国語、ベトナム語のコンピューティング(第 2 版).セバストポル、カリフォルニア州: O'Reilly . ISBN 978-0-596-51447-1。
- ^ ab 「不変文字セット」。IBM i 7.1 ドキュメント。IBM。2018年 8 月 14 日。
- ^ abcdefg Lunde, Ken (2009). 「付録 E: ベンダー文字セット標準」(PDF) . CJKV 情報処理: 中国語、日本語、韓国語、ベトナム語コンピューティング(第 2 版).セバストポル、カリフォルニア州: O'Reilly . ISBN 978-0-596-51447-1。
- ^ "EBCDIK: 拡張 2 進化 10 進交換かなコード".通信用語の基礎知識.
- ^ ab 「コード ページ識別子」。Windowsデベロッパー センター。Microsoft。
- ^ Steele, Shawn. 「コード ページ 21027 "Extended/Ext Alpha Lowercase"」. Microsoft .
- ^ 「CCSID 8482」。コード化文字セット識別子。IBM 。 2014年11月29日時点のオリジナルよりアーカイブ。
- ^ 「CCSID 5123」。コード化文字セット識別子。IBM 。 2014年11月29日時点のオリジナルよりアーカイブ。
- ^ abcd "ibm-930_P120-1999". International Components for Unicode . Unicode Consortium .
- ^ 「CCSID 930」。コード化文字セット識別子。IBM 。 2014年12月1日時点のオリジナルよりアーカイブ。
- ^ abcd "ibm-1390_P110-2003". International Components for Unicode . Unicode Consortium .
- ^ 「CCSID 1390」。コード化文字セット識別子。IBM 。 2014年11月29日時点のオリジナルよりアーカイブ。
- ^ abcd "ibm-939_P120-1999". International Components for Unicode . Unicode Consortium .
- ^ 「CCSID 939」。コード化文字セット識別子。IBM 。 2014年12月1日時点のオリジナルよりアーカイブ。
- ^ abcd "ibm-1399_P110-2003". International Components for Unicode . Unicode Consortium .
- ^ 「CCSID 1399」。コード化文字セット識別子。IBM 。 2014年11月29日時点のオリジナルよりアーカイブ。
- ^ abcde 泉野、英勝 (2021年10月20日). 「jef4j: Java の JEF 文字セットのサポート」。GitHub。
- ^ ab 「EBCDIC/EBCDIKのコード表」.日立。 2021年6月3日のオリジナルからアーカイブ。2021年5月29日閲覧。
- ^ 「JIS/EBCDIK 変換表」。FCOPYリファレンス マニュアル。Hewlett -Packard。[1] 注: ソース内の表は、入力バイトをすべてマップしますが、JIS X 0201で実際に定義されていないコードにマップする場合もありますが、非対称であり、常にラウンドトリップするわけではありません。ここで示されている文字は、ソース内の表が文字を JIS X 0201 で実際に定義されているコードにマップする文字です。
- ^ 「コードページ 00298」(PDF) 。IBM。 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
- ^ 「コード ページ 01027」(PDF)。レジストリ:グラフィック文字セットとコード ページ。IBM。1999年。
- ^ 「コード ページ 01027」(PDF)。IBM。2015年 7 月8日時点のオリジナルよりアーカイブ(PDF) 。
- ^ 「コードページ 01031」(PDF) 。IBM。 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
- ^ 「コードページ 01136」(PDF) 。IBM。 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
- ^ "EBCDICカナ文字からの変換".コード変換マニュアル - はじめに (HULFT8).セゾン情報システムズ。
- ^ 小泉、森好。 「EBCDICかな」。
- ^ 「コード ページ 00290」(PDF)。レジストリ:グラフィック文字セットとコード ページ。IBM。1999年。
- ^ 「コードページ 00290」(PDF) 。IBM。2015年7月8日時点のオリジナルよりアーカイブ(PDF) 。
- ^ 「コードページ 00887」(PDF) 。IBM。 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
- ^ 「コードページ 01030」(PDF) 。IBM。 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
- ^ abcde "付録K.3 文字コード変換".日立。
- ^ 「2 コードセットとコードセット変換」。DIGITAL UNIX日本語機能使用技術リファレンス。Compaq 。
- ^ abcd 「IBM 日本語グラフィック文字セット、漢字」(PDF)。IBM 。1999年。IBM 企業仕様 CH 3-3220-024。
- ^ "ibm-1364_P110-2007". International Components for Unicode . Unicode Consortium .
- ^ 「CCSID 16684」。コード化文字セット識別子。IBM 。 2014年11月29日時点のオリジナルよりアーカイブ。
