画面・帳票サポートシステム XMAP3 メインフレーム連携ガイド

[目次][用語][索引][前へ][次へ]

付録B.2 文字コードの違い

メインフレームとPCでは使用する文字コードが異なります。PCはシフトJISを使用していますが,メインフレームでは2バイトコードとしてKEIS'83または,KEIS'78,1バイトコードとしてEBCDIKまたは,EBCDICを使用しています。

文字コードはXMAP3が変換しますが,2バイトコードとしてKEIS'83,1バイトコードとしてEBCDIKを前提としています。また,EBCDIKには英小文字はありませんが,「付録B.2(1)(a) EBCDIKからシフトJISへの変換」,および「付録B.2(1)(b) シフトJISからEBCDIKへの変換」で示すように,EBCDIKの空き領域を英小文字として使用しています。

EBCDICを使用して英小文字を使用する場合,「付録B.2(1)(a) EBCDIKからシフトJISへの変換」,および「付録B.2(1)(b) シフトJISからEBCDIKへの変換」で示すように,EBCDICの英小文字とコードが合わず,表示・印刷すると文字化けし,画面入力した英小文字がメインフレームで正しく認識できません。

したがって,英小文字を使用する場合は,出力論理マップや入力論理マップのデータを「付録B.2(1)(a) EBCDIKからシフトJISへの変換」,および「付録B.2(1)(b) シフトJISからEBCDIKへの変換」に示す範囲で使用してください。

GUI画面のフィールドボックスで,改行入力属性を指定したフィールドを使用する場合,「付録B.2(1)(e) 改行を操作するためのメインフレームコード」で示すように,改行コードは(15)16を使用します。

KEIS'78を使用してKEIS'83とコードの異なる文字を使用している場合,表示・印刷すると文字化けし,画面入力した文字がメインフレームで正しく認識できません。

したがって,表B-3に示す,コードの異なる文字を使用する場合は,出力論理マップ,入力論理マップのデータKEIS'83の該当コードとして使用してください。

<この項の構成>
(1) 1バイト文字の変換
(2) 漢字コードの違い
(3) けい線コードの違い
(4) ベンダ固有文字についての注意事項

(1) 1バイト文字の変換

メインフレームとPCに処理を分散する場合,シフトJISとEBCDIKとの文字コードの違いはXMAP3が変換します。文字コード変換の表を次に示します。

(a) EBCDIKからシフトJISへの変換

[図データ]

(例)
EBCDIKコードでの「A」(コードは(C1)16)は,シフトJISでは(41)16に変換されます。
(b) シフトJISからEBCDIKへの変換

[図データ]

(例)
シフトJISコードでの「1」(コードは(31)16)は,EBCDIKでは(F1)16に変換されます。
(c) EBCDICの英小文字からシフトJISへの変換

EBCDICの英小文字を指定した場合,表示・印刷時に出力される文字を次の表に示します。

[図データ]

(例)
EBCDICコードでの「a」(コードは(81)16)は,シフトJISでは半角の「ア」(コードは(B1)16)に変換されます。
(d) 英小文字を操作するためのメインフレームコード

表示・印刷時に英小文字を操作するためのメインフレームコードを以下の表に示します。

出力文字シフトJIS コード   出力文字シフトJIS コード   出力文字シフトJIS コード   出力文字シフトJIS コード
a(61) (59)   h(68) (68)   o(6F) (75)   v(76) (9C)
b(62) (62)   i(69) (69)   p(70) (76)   w(77) (A0)
c(63) (63)   j(6A) (70)   q(71) (77)   x(78) (AB)
d(64) (64)   k(6B) (71)   r(72) (78)   y(79) (B0)
e(65) (65)   l(6C) (72)   s(73) (80)   z(7A) (B1)
f(66) (66)   m(6D) (73)   t(74) (8B)  
g(67) (67)   n(6E) (74)   u(75) (9B)

(例)
シフトJISでの「a」(コードは(61)16)を操作するには,EBCDIC/EBCDIKコードの(59)16を使用します。
(e) 改行を操作するためのメインフレームコード

GUI画面のフィールドボックスに定義した,改行入力属性を指定したフィールドで,改行を操作するためのメインフレームコードは(15)16です。

メインフレームでは,2バイトコード中の改行コード((15)16)に,シフトコード((0A41)16,(0A42)16)を必要としませんが,XMAP3では画面入力時,改行コード((15)16)の後ろが2バイトコードの場合,改行コード((15)16)と2バイトコードの間にシフトコード((0A42)16)を付加して入力論理マップに格納します。これによって,改行コード((15)16)の後半を抜き取った場合でも2バイトシフトコードとしてそのまま扱うことができます。

なお,画面出力時の出力論理マップには,2バイトコード中の改行コード((15)16)にシフトコードを付加する必要はありません。

(2) 漢字コードの違い

KEIS'83とKEIS'78の漢字コードの違いを次の表に示します。

表B-3 文字コードの対応

文字 KEIS'83 KEIS'78   文字 KEIS'83 KEIS'78
鰺 F2CD B0B3   鯵 B0B3 F2CD
鶯 F2F4 B2A9   鴬 B2A9 F2F4
蠣 E9DA B3C2   蛎 B3C2 E9DA
攪 D9F8 B3C9   撹 B3C9 D9F8
竈 E3DE B3F6   竃 B3F6 E3DE
灌 DEF5 B4C3   潅 B4C3 DEF5
諫 EBDD B4D2   諌 B4D2 EBDD
頸 F0F4 B7DB   頚 B7DB F0F4
礦 E2E8 B9DC   砿 B9DC E2E8
蘂 E9A2 BCC9   蕊 BCC9 E9A2
靱 F0D7 BFD9   靭 BFD9 F0D7
賤 ECCD C1A8   賎 C1A8 ECCD
壺 D4E4 C4DB   壷 C4DB D4E4
礪 E2EA C5D7   砺 C5D7 E2EA
檮 DBED C5EE   梼 C5EE DBED
濤 DEB9 C5F3   涛 C5F3 DEB9
邇 EDEE C6F6   迩 C6F6 EDEE
蠅 EAA4 C7E8   蝿 C7E8 EAA4
檜 DBD8 C9B0   桧 C9B0 DBD8
儘 D0D6 CBF9   侭 CBF9 D0D6
籠 E4C6 CFB6   篭 CFB6 E4C6
藪 E9AE CCF9   薮 CCF9 E9AE
堯 F4A1 5CC3   槇 F4A2 61FC
遙 F4A3 6BA2   瑤 F4A4 65A7
⊂ A2BE A2BF   ⊃ A2BF A2BE

(3) けい線コードの違い

KEIS'83とKEIS'78のけい線コードの違いを次の表に示します。

表B-4 けい線コードの対応

KEIS'83 KEIS'78   KEIS'83 KEIS'78
けい線 コード コード けい線   けい線 コード コード けい線
┌ A8A3 AFA1 ┌   ┬ A8A8 AFB3 ┬
┌ A8AE AFA2 ┌   ┬ A8B3 AFB4 ┬
┌ A8AE AFA3※1 ┏※1   ┬ A8B3 AFB5※1 ┳※1
┐ A8A4 AFA4 ┐   ┴ A8AA AFB6 ┴
┐ A8AF AFA5 ┐   ┴ A8B5 AFB7 ┴
┐ A8AF AFA6※1 ┓※1   ┴ A8B5 AFB8※1 ┻※1
└ A8A6 AFA7 └   ┼ A8AB AFB9 ┼
└ A8B1 AFA8 └   ┼ A8B6 AFBA ┼
└ A8B1 AFA9※1 ┗※1   ┼ A8B6 AFBB※1 ╋※1
┘ A8A5 AFAA ┘   ─ A8A1 AFBC ─
┘ A8B0 AFAB ┘   ─ A8AC AFBD ─
┘ A8B0 AFAC※1 ┛※1   ─ A8AC AFBE※1 ━※1
├ A8A7 AFAD ├   │ A8A2 AFBF │
├ A8B2 AFAE ├   │ A8AD AFC0 │
├ A8B2 AFAF※1 ┣※1   │ A8AD AFC1※1 ┃※1
┤ A8A9 AFB0 ┤   │ A8AD AFC2※1 ※1※2
┤ A8B4 AFB1 ┤   │ A8AD AFC3※1 ※1※3
┤ A8B4 AFB2※1 ┫※1   │ A8AD AFC4※1 ※1※4

注※1
KEIS'83を使用している場合でも,オンデマンド外字処理を使用すれば,表示および印刷ができます。

注※2
細い縦の破線「[図データ]」です。

注※3
縦の破線「[図データ]」です。

注※4
太い縦の破線「[図データ]」です。

(4) ベンダ固有文字についての注意事項

XMAP3では,XMAP3外字機能,コード変換SDK,コード変換ランタイム,日立コード変換 - Server Runtime,または日立コード変換 - Client Runtimeと併用した場合,PCで使用できるシフトJISのベンダ固有文字が変わりますので,注意してください。

なお,ベンダ固有文字はPC環境に依存するため使用できなくなることがありますので,ベンダ固有文字は極力使用しないことをお勧めします。この場合,ベンダ固有文字はWindowsで定義できるシフトJIS外字※1に置き換える,または日立コード変換※2で文字コードを変換して使用してください。

注※1
Windowsで定義できるシフトJISの外字領域は,(F040)16〜(F9FC)16です。ただし,コードの第2バイトは,(xx40)16〜(xx7E)16,および(xx80)16〜(xxFC)16の範囲です。

注※2
日立コード変換 - Development Kitのバージョンによっては,ベンダ固有文字を利用できます。詳細は,マニュアル「日立コード変換ユーザーズガイド」を参照してください。
日立コード変換 - Development Kitでベンダ固有文字をカスタマイズする場合,必ずユーザがカスタマイズしたユーザマッピングファイルを利用してください。日立コード変換 - Development Kitに含まれるGJISKEI.TBL(シフトJISとKEISのユーザマッピングファイル)の初期値には,シフトJISのベンダ固有文字とKEIS拡張文字セット3のマッピング情報は定義されていません。

ただし,XMAP3帳票環境セットアップで,印刷モードにPDLスルー,日立ESC/Pを選択している場合,XMAP3での帳票印刷時,ベンダ固有文字はプリンタ内蔵フォントに依存します。

なお,ベンダ固有文字は,コード変換SDK,コード変換ランタイム,日立コード変換 - Server Runtime,または日立コード変換 - Client Runtimeを併用した環境によって使用できる範囲が異なります。

表B-5 ベンダ固有文字の利用について

ベンダ固有文字の
コードの範囲※1
コード変換製品なし コード変換製品あり
XMAP3外字機能
なし
XMAP3外字機能
あり
Windows特殊文字
(8740)16〜(879C)16
XMAP3内部で変換する。※2
<コード変換>KEIS ⇔シフトJIS
XMAP3がコード変換を利用して変換する。※3
<コード変換>KEIS ⇔シフトJIS
XMAP3がコード変換を利用して変換する。※3※4
<コード変換>KEIS ⇔ Unicode
NEC選定IBM拡張文字(ED40)16〜(EEFC)16
IBM選択文字(FA40)16〜(FC4B)16

(凡例)
コード変換製品なし:コード変換製品を併用しない場合。
コード変換製品あり:コード変換SDK,コード変換ランタイム,日立コード変換 - Server Runtime,または日立コード変換 - Client Runtimeを併用した場合。

注※1
コードの範囲はシフトJISコードの範囲を示します。なお,すべてのベンダ固有文字のコード範囲は次のとおりです。
・第1バイト:(81xx)16〜(9Fxx)16,および(E0xx)16〜(FCxx)16
・第2バイト:(xx40)16〜(xx7E)16,および(xx80)16〜(xxFC)16

注※2
PCの環境によって,変換した文字コードに異なる文字が割り当てられている場合があります。ベンダ固有文字は,外字領域に作成,登録して使用することをお勧めします。

注※3
コード変換SDKまたはコード変換ランタイムでは,NEC選定IBM拡張文字,およびIBM選択文字はサポートされていません。NEC選定IBM拡張文字およびIBM選択文字を使用する場合は,外字領域に作成,登録して使用ください。
日立コード変換 - Server Runtimeまたは日立コード変換 - Client Runtimeのバージョンによってはベンダ固有文字がサポートされています。この場合,ベンダ固有文字をKEISコードの内字領域または拡張文字セット3領域のどちらに割り当てるかを,日立コード変換のユーザマッピング機能で選択する必要があります。割り当てるKEISコードごとの注意事項を次に示します。
KEISの内字領域を使用する場合
NEC選定IBM拡張文字およびIBM選択文字は利用できません。
KEISの拡張文字セット3領域を使用する場合
この領域は初期状態では外字領域としてマッピングされています。
すでに外字として利用している場合には注意が必要です。
 
ベンダ固有文字をマッピングできる日立コード変換 - Server Runtimeまたは日立コード変換 - Client Runtimeのバージョン,および設定方法については,マニュアル「日立コード変換ユーザーズガイド」を参照してください。

注※4
PDFファイル出力では,コード変換製品のサポート範囲によってはIBM選択文字およびNEC選定IBM拡張文字は利用できません。PDFファイル出力時には,「表B-5 ベンダ固有文字の利用について」に示す文字コード変換に加えて「Unicode⇔シフトJIS」のコードを変換しますので,コード変換製品での「Unicode⇔シフトJIS」のコードマッピングのサポート範囲をご確認ください。