EBCDICの日本語

コンピュータ上で日本語を表現するために、拡張2進化10進コード(EBCDIC)の互いに互換性のない複数のバージョンが使用されてきました。これには、日立富士通IBMなどが定義したバージョンも含まれます。中には可変幅エンコーディングと呼ばれるものもあり、ロックシフトコードを用いてシングルバイトモードとダブルバイトモードを切り替えることができます。[1]他のEBCDICロケールとは異なり、小文字の基本ラテン文字は通常の位置で保持されないことがよくあります。[2]

IBMがEBCDICで使用した2バイト日本語コードにはあるが、 JIS X 0208の初版にはない文字は、 IBMコードページ932(「DBCS-PC」)Windowsコードページ932などの一部の非EBCDICエンコードのベンダー拡張にも影響を与えた[3]

シングルバイトコード

JIS X 0201 (シフトJISに組み込まれている)と同様に、日本語のEBCDICエンコードには、シングルバイトのカタカナが含まれることが多い。日本語ロケールでは、ベンダーによってシングルバイトEBCDICコードの複数の異なるバリエーションが使用されている。また、ベンダーによっては、半角カタカナ用とラテン文字用の2つの異なるシングルバイトコードを定義することもある。あるベンダーがカタカナ用として推奨するEBCDICのバリエーションはEBCDIK(Extended Binary-Coded Decimal Interchange Kana code)と呼ばれることもある。[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]

次の表では、不変セットへの適合は緑色でマークされ、不変セットとの衝突は赤色でマークされています。

日本語EBCDIC変種のシングルバイトコード(制御コードを除く)
16進数不変の場所で小文字、仮名がない、または置き換えられている小文字が欠落しているか、仮名に置き換えられている
富士通EBCDIC [17]日立EBCDIC [18]HP EBCDIK [19]IBM 298 [20]IBM 1027
[13] [15] [21] [22]
IBM 1031 [23]富士通EBCDIK [17]日立EBCDIK [18]
IBM 1136 [24]
NEC EBCDIC [25] [26]IBM 290
[9] [11] [27] [28]
IBM 887 [29]IBM 1030 [30]
0x40SPSPSPSPSPSPSPSPSPSPSPSP
0x41
0x42
0x43
0x44
0x45
0x46
0x47§§§§§§
0x48§§§§§
0x49
0x4A£[¢¢¢£[[£££
0x4B
0x4C<<<<<<<<<<<
0x4D[
0x4E++<+++++++++
0x4F|!||||!!|||
0x50+
0x51
0x52
0x53ああああああああああああ
0x54ああああああああああ
0x55®®®®®®
0x56®®®®®ああああああああああああ
0x57ああああああああああ1つの
0x58
0x59あーあーあーあーあー1つのb
0x5A!]!!!!]]!!!
0x5B\¥$$$$\¥\¥¥¥
0x5C************
0x5D]
0x5E;;;;;;;;;;;;
0x5F¬^¬¬¬¬^^¬¬¬
0x60------------
0x61////////////
0x62ええええええええええbc1つの1つの
0x63cdbb
0x64えーえーえーえーえーdecc
0x65efdd
0x66fグラムee
0x67グラムhff
0x68hグラムグラム
0x69¢¢¢¢¢jhh
0x6A¦||¦||
0x6B
0x6C%%%%%%%%%%%
0x6D____________
0x6E>>¥>>>>>>>>>
0x6F???????????
0x70j[[
0x71l
0x72lメートルjj
0x73メートルn
0x74noll
0x75とかとかとかとかとかopメートルメートル
0x76pqnn
0x77qroo
0x78rspp
0x79```````````
0x7A:::::::::::
0x7B###########
0x7C@@'@@@@@@@@@
0x7D'':'''''''''
0x7E>
0x7F
0x80st]]
0x811つの1つの1つの1つの1つの1つのあーあーあーあーあーあー
0x82bbbbbbええええええええええええ
0x83cccccc
0x84ddddddえーえーえーえーえーえー
0x85eeeeee
0x86ffffff
0x87グラムグラムグラムグラムグラムグラム
0x88hhhhhh
0x89¢¢¢¢¢¢
0x8A
0x8Btあなたqq
0x8C
0x8D
0x8E
0x8F・・・・・・・・・
0x90とかとかとかとかとかとか
0x91jjjjjj
0x92
0x93llllll
0x94メートルメートルメートルメートルメートルメートル
0x95nnnnnn
0x96oooooo
0x97pppppp
0x98qqqqqq
0x99rrrrrr
0x9Aこんにちは。こんにちは。こんにちは。・・・・・・・・・・・・・・・・・・・・・・・・
0x9Bあなたvrr
0x9Cへーへーへーこんにちは。こんにちは。v
0x9D
0x9Eへーへーこんにちは。こんにちは。こんにちは。こんにちは。こんにちは。こんにちは。
0x9Fうーんうーんうーん
0xA0うーんうーんうーん¯¯×
0xA1¯¯¯¯
0xA2ssssssへーへーへーへーへーへー
0xA3tttttt
0xA4あなたあなたあなたあなたあなたあなた
0xA5vvvvvvうーんうーんうーんうーんうーんうーん
0xA6うーんうーんうーんうーんうーんうーん
0xA7××××××
0xA8yyyyyy
0xA9zzzzzz
0xAA
0xABうーんうーん×yss
0xACうーんうーん
0xAD[[××××××
0xAE
0xAF×××
0xB0^^yz^^
0xB1££z¢¢
0xB2¥¥\\
0xB3tt
0xB4わーわーわーあなたあなた
0xB5vv
0xB6××
0xB7××
0xB8yy
0xB9zz
0xBA
0xBBわーわー
0xBCわーわーわーわーわーわー
0xBD]]
0xBE
0xBF
0xC0{{?{{{{{{{{
0xC1
0xC2BBBBBBBBBBBB
0xC3CCCCCCCCCCCC
0xC4DDDDDDDDDDDD
0xC5EEEEEEEEEEEE
0xC6FFFFFFFFFFFF
0xC7GGGGGGGGGGGG
0xC8HHHHHHHHHHHH
0xC9
0xCA
0xCB
0xCC
0xCD
0xCE
0xCF
0xD0}}!}}}}}}}}
0xD1JJJJJJJJJJJJ
0xD2KKKKKKKKKKKK
0xD3LLLLLLLLLLLL
0xD4MMMMMMMMMMMM
0xD5
0xD6
0xD7PPPPPPPPPPPP
0xD8質問質問質問質問質問質問質問質問質問質問質問質問
0xD9RRRRRRRRRRRR
0xDA
0xDB°
0xDC±
0xDD
0xDE
0xDF
0xE0$$¥\\$$$$$$
0xE1
0xE2SSSSSSSSSSSS
0xE3TTTTTTTTTTTT
0xE4あなたあなたあなたあなたあなたあなたあなたあなたあなたあなたあなたあなた
0xE5VVVVVVVVVVVV
0xE6WWWWWWWWWWWW
0xE7XXXXXXXXXXXX
0xE8はいはいはいはいはいはいはいはいはいはいはいはい
0xE9ZZZZZZZZZZZZ
0xEA
0xEB
0xEC
0xED
0xEE
0xEFΩ
0xF0000000000000
0xF1111111111111
0xF2222222222222
0xF3333333333333
0xF4444444444444
0xF5555555555555
0xF6666666666666
0xF7777777777777
0xF8888888888888
0xF9999999999999
0xFA
0xFB
0xFC
0xFDµ
0xFE

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を使用)、および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ホストコード構造に従って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]

脚注

  1. ^ これらのシフトシーケンスの16進形式は、Lundeが挙げた10進形式(10 65および10 66)と一致します。[1] Lundeは両方のシフトの16進形式を として挙げていますが0xA0 0x42、これは一見誤りのようです。

参考文献

  1. ^ abcdefghij Lunde, Ken (2009). 「付録F:ベンダーのエンコード方式」(PDF) . CJKV情報処理:中国語、日本語、韓国語、ベトナム語コンピューティング(第2版).セバストポル、カリフォルニア州O'Reilly . ISBN 978-0-596-51447-1
  2. ^ ab 「不変文字セット」。IBM i 7.1 ドキュメント。IBM 。2018年814日。
  3. ^ abcdefg Lunde, Ken (2009). 「付録E:ベンダー文字セット標準」(PDF) . CJKV情報処理:中国語、日本語、韓国語、ベトナム語コンピューティング(第2版).セバストポル、カリフォルニア州O'Reilly . ISBN 978-0-596-51447-1
  4. ^ "EBCDIK: 拡張 2 進化 10 進交換かなコード".通信用語の基礎知識.
  5. ^ ab 「コードページ識別子」。Windowsデベロッパーセンター。Microsoft。
  6. ^ Steele, Shawn. 「コードページ 21027 "Extended/Ext Alpha Lowercase"」. Microsoft .
  7. ^ 「CCSID 8482」。コード化文字セット識別子。IBM 2014年11月29日時点のオリジナルよりアーカイブ。
  8. ^ 「CCSID 5123」。コード化文字セット識別子。IBM 2014年11月29日時点のオリジナルよりアーカイブ。
  9. ^ abcd "ibm-930_P120-1999". International Components for Unicode . Unicode Consortium .
  10. ^ 「CCSID 930」。コード化文字セット識別子。IBM 2014年12月1日時点のオリジナルよりアーカイブ。
  11. ^ abcd "ibm-1390_P110-2003". International Components for Unicode . Unicode Consortium .
  12. ^ 「CCSID 1390」。コード化文字セット識別子。IBM 2014年11月29日時点のオリジナルよりアーカイブ。
  13. ^ abcd "ibm-939_P120-1999". International Components for Unicode . Unicode Consortium .
  14. ^ 「CCSID 939」。コード化文字セット識別子。IBM 2014年12月1日時点のオリジナルよりアーカイブ。
  15. ^ abcd "ibm-1399_P110-2003". International Components for Unicode . Unicode Consortium .
  16. ^ 「CCSID 1399」。コード化文字セット識別子。IBM 2014年11月29日時点のオリジナルよりアーカイブ。
  17. ^ abcde 泉野、英勝 (2021年10月20日). 「jef4j: Java の JEF 文字セットのサポート」。GitHub
  18. ^ ab 「EBCDIC/EBCDIKのコード表」.日立。 2021年6月3日のオリジナルからアーカイブ2021年5月29日に取得
  19. ^ 「JIS/EBCDIK変換表」FCOPYリファレンスマニュアル. Hewlett-Packard .[1] 注:ソース内の表はすべての入力バイトをマッピングしますが、JIS X 0201で実際に定義されていないコードにマッピングする場合もありますが、非対称であり、必ずしも往復するとは限りません。ここで示されている文字は、ソース内の表が文字をJIS X 0201 で実際に定義されているコードに往復マッピングする文字です。
  20. ^ 「コードページ00298」(PDF) IBM 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
  21. ^ 「コードページ01027」(PDF) .レジストリ:グラフィック文字セットとコードページ. IBM . 1999.
  22. ^ 「コードページ01027」(PDF) . IBM . 2015年7月8日時点のオリジナルよりアーカイブ(PDF) 。
  23. ^ 「コードページ01031」(PDF) IBM 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
  24. ^ 「コードページ01136」(PDF) . IBM . 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
  25. ^ "EBCDICカナ文字からの変換".コード変換マニュアル - はじめに (HULFT8) .セゾン情報システムズ。
  26. ^ 小泉、森好。 「EBCDICかな」。
  27. ^ 「コードページ00290」(PDF) .レジストリ:グラフィック文字セットとコードページ. IBM . 1999.
  28. ^ 「コードページ00290」(PDF) . IBM . 2015年7月8日時点のオリジナルよりアーカイブ(PDF) 。
  29. ^ 「コードページ00887」(PDF) . IBM . 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
  30. ^ 「コードページ01030」(PDF) IBM 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
  31. ^ abcde "付録K.3 文字コード変換".日立。 2018-05-10 のオリジナルからアーカイブ2021年5月31日に取得
  32. ^ 「2 コードセットとコード セット変換」。DIGITAL UNIX 日本語機能使用のためのテクニカルリファレンス。Compaq
  33. ^ abcd 「IBM日本語グラフィック文字セット、漢字」(PDF)。IBM 。1999年。IBMコーポレート仕様CH 3-3220-024。
  34. ^ "ibm-1364_P110-2007". International Components for Unicode . Unicode Consortium .
  35. ^ 「CCSID 16684」。コード化文字セット識別子。IBM 2014年11月29日時点のオリジナルよりアーカイブ。
「https://en.wikipedia.org/w/index.php?title=Japanese_language_in_EBCDIC&oldid=1318130778」より取得