日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS
ライブラリ

タイトルページ
目次
まえがき
第 1 章:概要
第 2 章:日本語ライブラリの使用例
第 3 章:汎用ライブラリ
第 4 章:基本ライブラリ
第 5 章:かな漢字変換ライブラリ
第 6 章:漢字コード変換ライブラリ
付録 A :変換キー配列
付録 B :変換対応表
索引
PDF
OpenVMS ホーム

日本語 OpenVMS
日本語ライブラリ 利用者の手引き


目次 索引

第 6 章
漢字コード変換ライブラリ

この章では,漢字コード変換ライブラリについて説明します。

漢字コード変換ライブラリ・ルーチン一覧 ( 第 6.1 節 )
漢字コード変換ルーチン ( 第 6.2 節 )
1 バイト・コード変換テーブル ( 第 6.3 節 )
DEC 漢字コード変換ライブラリ・ルーチン ( 第 6.4 節 )

漢字コード変換ライブラリ とは,漢字コードの変換を行うライブラリです。DEC 漢字コードを他社の漢字コードに,または他社漢字コードを DEC 漢字コードに変換することができます。

  • 現在のバージョンでは以下のコード体系との変換が可能です。


                JIS    HITACHI    IBM        JEF (富士通) 
                NEC    CP/M       MSDOS 
    

  • 入力としての文字列は,漢字コードと制御コードからなることをを原則とします。

  • ただし,DEC コード→各社コード,NEC → DEC,MSDOS → DEC,CP/M → DEC の場合には入力の文字列に1バイト・データ・コードが混在していても変換することができます。入力の文字列と出力の文字列のバイト数は変化しません。

  • DEC → JIS ,DEC → IBM ,DEC → JEF ,DEC → HITACHI の場合の入力の文字列に1バイト・データ・コードが混在していた場合,出力の文字列には 1バイト・コードと漢字コードを区別するシフト・コードは付加しません。

  • 各社の入力の文字列に1バイトのカタカナ・コードが混在していた場合,DEC の文字列にはカタカナ・コードと漢字コードを区別するシフト・コードは付加しません。出力された文字列を再び元の文字列に変換しようとした場合,次のような問題があります。

  • JIS 第 1 〜 94 区の漢字コードと制御コードだけからなる文字列ならば,元に戻ります。

  • 外字などの漢字コードは '□' ( DEC: %X'A2A2') に変換しますので元には戻りません。

  • DEC → IBM,DEC → JEF,DEC → CP/M では DEC の全角のスペース・コードが半角のスペース・コード(制御コード) 2バイトに変換しますので元には戻りません。

  • DEC → JIS,DEC → IBM,DEC → JEF,DEC → HITACHI,DEC → NEC( SE )の時に入力の文字列に1バイト・データ・コードが混在していた場合,出力文字列にはシフト・コードを付加していないため1バイト・コードと漢字コードの区別がつかず,元には戻りません。各社→ DEC の場合も入力にカタカナ・コードが混在しているときには,元には戻りません。

  • JLB$TRA_KANJI_XXX_XXX ルーチンでは,出力文字列にダイナミック・デスクリプタを指定した場合,出力文字列は 512 バイトに制限されます(出力文字列が 512 バイトを越える場合,512 バイトで切り捨てられ,戻り値として LIB$_STRTRU が返されます)。 512 バイト以上の入力文字列を変換する場合には,スタティック・デスクリプタを使用してください。



6.1 漢字コード変換ライブラリ・ルーチン一覧

漢字コード変換ルーチン

DEC 漢字コードと各社の漢字コードの変換を行うためのルーチン群です。各ルーチンの詳細は 第 6.2 節 を参照してください。

JLB$TRA_KANJI_DEC_JIS( ... ) DEC コード→ JIS コード
JLB$TRA_KANJI_DEC_HITACHI( ... ) DEC コード→ HITACHI コード
JLB$TRA_KANJI_DEC_IBM( ... ) DEC コード→ IBM コード
JLB$TRA_KANJI_DEC_JEF( ... ) DEC コード→ JEF コード
JLB$TRA_KANJI_DEC_NEC( ... ) DEC コード→ NEC コード
JLB$TRA_KANJI_DEC_MSDOS( ... ) DEC コード→ MSDOS コード
JLB$TRA_KANJI_DEC_CPM( ... ) DEC コード→ CP/M コード
JLB$TRA_KANJI_JIS_DEC( ... ) JIS コード→ DEC コード
JLB$TRA_KANJI_HITACHI_DEC( ... ) HITACHI コード→ DEC コード
JLB$TRA_KANJI_IBM_DEC( ... ) IBM コード→ DEC コード
JLB$TRA_KANJI_JEF_DEC( ... ) JEF コード→ DEC コード
JLB$TRA_KANJI_NEC_DEC( ... ) NEC コード→ DEC コード
JLB$TRA_KANJI_MSDOS_DEC( ... ) MSDOS コード→ DEC コード
JLB$TRA_KANJI_CPM_DEC( ... ) CP/M コード→ DEC コード

1バイト・コード変換テーブル

1バイト・コードを変換する時に使用する 256 バイトのコード変換テーブルです。各ルーチンの詳細は 第 6.3 節 を参照してください。

JSY$GTBL_TO_ASCII
JSY$GTBL_TO_ASCII_K
JSY$GTBL_TO_NEC
JSY$GTBL_TO_NEC_K
JSY$GTBL_TO_MSDOS
JSY$GTBL_TO_MSDOS_K
JSY$GTBL_TO_EBCDIK
JSY$GTBL_EBCDIK_TO_ASCII

DEC 漢字コード変換ライブラリ・ルーチン一覧

DEC 漢字セット中の漢字コードを,同じ DEC 漢字セット中の他の漢字コードに変換するためのルーチン群です。各ルーチンの詳細は 第 6.4 節 を参照してください。

JLB$KCV_BEGIN_CONV
JLB$KCV_END_CONV
JLB$KCV_FIND
JLB$KCV_CONVERT



6.2 漢字コード変換ルーチン

漢字コード変換ルーチンは,DEC 漢字コードと各社の漢字コードの変換を行うためのルーチン群です。




DEC コード→ JIS コード

  • DECの漢字文字列をJISの漢字文字列に変換します。

  • DECのJIS第1〜94区以外の漢字コードは %X'2222' ('□') に変換します。

  • DEC 文字列に1バイト・コードが混在しているときには,省略時設定の1バイト変換テーブル JSY$GTBL_TO_ASCII によって,変換して出力します。 1バイト変換テーブルが指定されているときには,そのテーブルによって変換して出力します(シフト・コードは付加しません)。


形式

status.wlc.v = JLB$TRA_KANJI_DEC_JIS ( dst-str.wt.dx, src-str.rt.dx [,[out-len.wwu.r] [,[trans-tbl.rt.r]]] )


引数


dst-str
        JLB usage 出力文字列
        type 文字列データ
        access 出力のみ
        mechanism Descriptor 渡し
src-str
        JLB usage 入力文字列
        type 文字列データ
        access 入力のみ
        mechanism Descriptor 渡し
out-len
        JLB usage 出力文字列のバイト長
        type Word(unsigned)
        access 出力のみ
        mechanism Reference 渡し
trans-tbl
        JLB usage 256 バイトの1バイト・コード変換テーブル
        type テーブル
        access 入力のみ
        mechanism Reference 渡し


戻り値

status  
SS$_NORMAL 正常終了
LIB$_STRTRU 出力結果の切り捨てが行われた




JIS コード→ DEC コード

  • JIS の漢字文字列を DEC の漢字文字列に変換します。
    JIS の JIS 第 1 〜 94 区以外の漢字コードは %X'A2A2' ('□') に変換します。

  • JIS の %X'00'〜%X'20',%X'7F'〜 %X'FF' は,制御コードとして省略時設定の 1 バイト変換テーブル JSY$GTBL_TO_ASCII によって変換して出力します。
    1 バイト変換テーブルが指定されているときには,そのテーブルによって変換して出力します。

  • JIS 文字列に,制御コード以外の1バイト・コードやシフト・コードが混在しているときには,正しい結果は得られません。


形式

status.wlc.v = JLB$TRA_KANJI_JIS_DEC ( dst-str.wt.dx, src-str.rt.dx [,[out-len.wwu.r] [,[trans-tbl.rt.r]]] )


引数


dst-str
        JLB usage 出力文字列
        type 文字列データ
        access 出力のみ
        mechanism Descriptor 渡し
src-str
        JLB usage 入力文字列
        type 文字列データ
        access 入力のみ
        mechanism Descriptor 渡し
out-len
        JLB usage 出力文字列のバイト長
        type Word(unsigned)
        access 出力のみ
        mechanism Reference 渡し
trans-tbl
        JLB usage 256 バイトの1バイト・コード変換テーブル
        type テーブル
        access 入力のみ
        mechanism Reference 渡し


戻り値

status  
SS$_NORMAL 正常終了
LIB$_STRTRU 出力結果の切り捨てが行われた




DEC コード→ HITACHI コード

  • DEC の漢字文字列を HITACHI の漢字文字列に変換します。

  • DEC の JIS 第 1 〜 94 区以外の漢字コードは %X'A2A2' ('□') に変換します。

  • DEC 文字列に1バイト・コードが混在しているときには,省略時設定の1バイト変換テーブル JSY$GTBL_TO_EBCDIK によって,変換して出力します。1バイト変換テーブルが指定されているときには,そのテーブルによって変換して出力します(シフト・コードは付加しません)。


形式

status.wlc.v = JLB$TRA_KANJI_DEC_HITACHI ( dst-str.wt.dx, src-str.rt.dx [,[out-len.wwu.r] [,[trans-tbl.rt.r]]] )


引数


dst-str
        JLB usage 出力文字列
        type 文字列データ
        access 出力のみ
        mechanism Descriptor 渡し
src-str
        JLB usage 入力文字列
        type 文字列データ
        access 入力のみ
        mechanism Descriptor 渡し
out-len
        JLB usage 出力文字列のバイト長
        type Word(unsigned)
        access 出力のみ
        mechanism Reference 渡し
trans-tbl
        JLB usage 256 バイトの1バイト・コード変換テーブル
        type テーブル
        access 入力のみ
        mechanism Reference 渡し


戻り値

status  
SS$_NORMAL 正常終了
LIB$_STRTRU 出力結果の切り捨てが行われた




HITACHI コード→ DEC コード

  • HITACHI の漢字文字列を DEC の漢字文字列に変換します。

  • HITACHI の JIS 第 1 〜 94 区以外の漢字コードは %X'A2A2' ('□') に変換します。

  • HITACHI の %X'00'〜%X'40',%X'FF' は,制御コードとして省略時設定の 1 バイト変換テーブル JSY$GTBL_EBCDIK_TO_ASCII によって変換して出力します。1バイト変換テーブルが指定されているときには,そのテーブルによって変換して出力します。

  • HITACHI 文字列に,制御コード以外の1バイト・コードやシフト・コードが混在しているときには,正しい結果は得られません。


形式

status.wlc.v = JLB$TRA_KANJI_HITACHI_DEC ( dst-str.wt.dx, src-str.rt.dx [,[out-len.wwu.r] [,[trans-tbl.rt.r]]] )


引数


dst-str
        JLB usage 出力文字列
        type 文字列データ
        access 出力のみ
        mechanism Descriptor 渡し
src-str
        JLB usage 入力文字列
        type 文字列データ
        access 入力のみ
        mechanism Descriptor 渡し
out-len
        JLB usage 出力文字列のバイト長
        type Word(unsigned)
        access 出力のみ
        mechanism Reference 渡し
trans-tbl
        JLB usage 256 バイトの1バイト・コード変換テーブル
        type テーブル
        access 入力のみ
        mechanism Reference 渡し


戻り値

status  
SS$_NORMAL 正常終了
LIB$_STRTRU 出力結果の切り捨てが行われた


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項