[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]
この章では,漢字コード変換ユーティリティ (KCODE) について説明します。
漢字コード変換ユーティリティはDEC漢字コードから他コード体系,他コード体系から
DEC漢字コードへの漢字コード変換を行います。
他コード体系から他コード体系への変換およびDEC漢字コードから
DEC漢字コードへの変換はできません。変換可能なコード体系は次の9種類です。
- DEC
- JIS
- IBM
- JEF
- HITACHI
- MSDOS
- CP/M
- NEC (メモリ内部コード)
- NEC(DISK媒体内部コード))
この節では,KCODEコマンドの形式,パラメータ,修飾子について説明します。
漢字コード変換ユーティリティを起動します。
形式
KCODE 入力ファイル指定 [出力ファイル指定]
パラメータ
- 入力ファイル指定
- 漢字コード変換を行うファイル名を指定します。
- 出力ファイル指定
- 変換結果を出力するファイル名を指定します。
出力ファイル名を省略した場合の出力ファイル名はDECFILE.DATとなります。
修飾子
- /FIELD=(開始位置 [,終了位置])
- 1レコード内における変換領域の指定を行います。
/FIELD修飾子の指定がない場合には,1レコード全体を変換対象とします。
以下の項目が指定できます。
開始位置 |
変換開始バイトを指定します。省略時設定値は1で,
レコードの先頭から変換します。 |
終了位置 | 変換終了バイトを指定します。
省略時にはレコードの最後まで変換します。 |
- /FORMAT=コード体系
- 入力ファイルまたは出力ファイルのコード体系を指定します。
省略時の設定でDEC漢字コード体系に変換します。
コード体系には,次の9種類が指定できます。
| DEC | JIS | IBM |
JEF(FUJITSU) | HITACHI |
| NEC |
NEC_DISKET | MSDOS | CPM |
NECは,インテリジェント・ターミナルのOS,
NCOSで使用するコード体系の場合に指定し,NEC_DISKETは
NECコード体系のディスク媒体内部コードの場合に指定します。
- /RECORD=(開始レコード[ ,終了レコード])
- 入力ファイルの一部のレコードのみを変換するときに指定します。
/RECORD修飾子の指定がない場合には,すべてのレコードを変換対象とします。
以下の項目が指定できます。
開始レコード | 変換開始レコードを指定します。
省略時設定値は1で,先頭のレコードから変換します。 |
終了レコード | 変換終了レコードを指定します。
省略時には最後のレコードまで変換します。 |
漢字変換ユーティリティには,次の制限事項があります。
- 入力文字列は,漢字コードと制御コードだけからなることを原則とします。
- ただし,DECコード→他コード体系,NEC→DEC,MSDOS→DEC,CP/M→DECの場合には,
入力文字列に1バイトの英数字コードが混在しても変換することができます。
- 入力文字列と出力文字列のバイト数は変化しません。
- DECコード→JISコード,DEC→IBM,DEC→JEF,DEC→NEC,DEC→HITACHI
の場合の入力文字列に1バイトの英数字コードが混在していた場合,
出力文字列には1バイト・コードと漢字コードを区別するシフト・
コードは付加されません。
- 他コード体系の入力文字列に1バイトのカタカナ・コードが混在していた場合,
DECコードへの出力文字列にはカタカナ・コードと漢字コードを区別するシフト・
コードは付加されません。
- 他コード体系の入力文字列に1バイト・コードと漢字コードを区別するシフト・
コードが含まれていた場合,それらは出力コード体系において相当するシフト・
コードに変換されず,個々のバイトずつ相当するコードに変換されます。
- 出力された文字列を再び元の文字列に変換しようとした場合,
次のような問題があります。
- JIS X0208-1983第1〜94区に定義された漢字コードと
JIS C6220の制御コードだけからなる文字列ならば,原則的に元に戻ります。
- 外字などのJIS X0208-1983第1〜94区に定義されていない漢字コードは,
'□'(DEC漢字コードでは,16進数でA2A2)に変換されるので元には戻りません。
- DECコード→IBMコード,DEC→JEF,DEC→CP/Mでは,
DEC漢字の全角のスペース・コードが半角のスペース・コード(制御コード)
2バイトに変換されるので,これらのコード体系から元には戻りません。
- DECコード→JISコード,DEC→IBM,DEC→JEF,DEC→HITACHIのときに入力文字列に
1バイトの英数字コードが混在していた場合,
出力文字列にはシフト・コードが付加されないため,
1バイト・コードと漢字コードの区別がつかないので元には戻りません。
他コード体系→DECの場合も,
入力に1バイトのカタカナ・コードが混在しているときには,元には戻りません。
- JISコード→DECコード,IBM→DEC,JEF→DEC,HITACHI→DEC,NEC→DECの場合,
入力文字列に1バイト・コードと漢字コードを区別するシフト・
コードが含まれていた場合には,
これらのシフト・コードが出力文字列に反映されないため元には戻りません。
この節では,漢字コード変換ユーティリティの使用例を示します。
- DEC漢字コード体系のファイルIN.DAT内のすべてのデータをJIS
漢字コード体系に変換し,OUT.DATに出力します。
- DEC漢字コード体系のファイルIN.DAT内の
/FIELDで指定された領域内のデータをIBM漢字コード体系に変換し,
OUT.DATに出力します。指定領域外のデータは,変換せずにそのまま出力します。
- NECのDISK媒体内部コード体系のファイルIN.DATを
DEC漢字コード体系に変換して,に出力します。
[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]