サイトのロゴ opensource COBOL Programmer’s Guide

前へ/目次/次へ

7. 日本語の使用

日本におけるコード系の標準は、JIS X0201のローマ文字・カタカナ用8単位符号系である。opensource COBOLでは、シフトJISコードはこのコード系に基づいて日本語文字のマッピングを行っている。

7.1. 英数字項目の日本語

文法上、日本語項目はPICTURE句の文字「N」でしか定義できないが、英数字項目でも日本語データ(文字と日本語文字の混在または日本語文字のみ)を取り扱えられるようにしてある。これは、文法上何も規定せず(整合性がとれなくなる)に、その使用はプログラマの責任としている。つまり、INSPECT文、STRING文およびUNSTRING文で使用した場合や、部分参照を行った場合、その実行結果は保証されない。このようなことを暗に認めているのは、PIC Nで定義した項目は日本語文字だけしか定義、格納できないが、実際のアプリケーション上では、文字(1バイトコード=半角文字)と日本語文字(2バイトコード=全角文字)が混在したデータが多数存在することによる。また、特に文法拡張を行わずに、PIC Xで日本語データを処理している既存製品との互換性をとる意味もある。例えば以下のように、日本語1文字に対して、2バイトの領域を定義する必要がある。

        01 データ項目1 PIC X(8) VALUE"顧客code"

        01 データ項目2 PIC X(10) VALUE"顧客コード"

データ項目1のように半角文字と全角文字が混在していると、プログラムの可搬性のために、コンパイル中に警告メッセージが表示されるが、実行は正常になされる。

注意:暗黙事項として、英数字項目でも日本語文字を格納できることとしているにも関わらず、日本語項目を新たに定義しているのは、次の2点が理由である。

  1. NATIONAL(日本語)文字に対する処理系の標準化動向(日本語データの文字列操作を容易に行うこと)。
  2. 種々の日本語コード系に対応を図る(シフトイン/アウト制御コードの削除)

ページトップへ