COBOL言語の関数「CHAR」について理解しよう!|用語辞典

COBOL(コボル)言語の予約語CHARを使った文字コードに対応する文字の求め方とは

COBOL言語の予約語CHARを使った文字コードに対応する文字の求め方_用語辞典

COBOL(コボル)言語のCHAR関数とは?

COBOL(コボル)の組込み関数であるCHAR関数は、ある指定した文字コードに対応する文字を求める場合に使用します。文字コードは、文字をコンピュータで処理させるために、文字の種類ごとに番号を割り当てたものです。ASCIIコードやシフトJIS、UTF-8やUnicodeが文字コードになります。例えば文字コードの「49」という値に対応する文字は「0」になります。引数は文字コードに1を加算したものになるため、「48」の16進数表記にした30として「0」は登録されています。では早速COBOL言語での使い方について見ていきましょう。

書き方(CHAR関数)

FUNCTION CHAR(引数1)

・関数の型:英数字型

・引数1:整数(0よりも大きく、文字の照合順序の文字位置の数以下)を指定

・戻り値:引数の文字コードに対応する文字が位置する場所を示す値

使用例:

CHAR関数の使用例

実行結果:

CHAR関数の実行結果

CHAR関数のCOBOL(コボル)言語における基本事項やルールについて

1.「CHAR」の間の空白や改行は、自由に設定できます。

2.組込み関数の前には予約語「FUNCTION」を指定する必要があります。

3.プログラムの照合順序内の同じ文字位置に複数の文字が割り当てられている場合は、ALPHABET 句でその文字位置に指定されている最初の文字が、戻り値になります。

COBOL(コボル)言語のCHAR関数を扱う上での注意点

引数として指定できる文字コードは日本語定数や日本語項目の全角文字を指定することはできません。日本語定数や日本語項目を使用したい場合には、第4次規格準拠の処理系でCHAR-NATIONALを使用するようにしましょう。また戻り値については例えば「49」が「0」という値が返ってくることからもわかるように、戻り値を活用する際には値が格納できる桁数を指定するように注意しましょう。

CHAR関数を使ったCOBOL(コボル)プログラムの活用法

CHAR関数は、先ほどご紹介した通り、ある指定した文字コードに対応する文字を求める場合に使用する関数でした。ここでは数字だけでなく、英字、記号等が結果値となる文字コードを指定して処理の確認をしてみましょう。いろいろな文字コードを引数に指定して実際の文字がどのような場所に格納されているかを理解しましょう。また、インターネット上には半角英数字/記号と実際に割り当てられている数値との対応表なども見つける事ができると思いますので、実際に結果を確認してみましょう。

サンプルプログラム(CHAR2):

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. CHAR_SAMPLE2.
  3. ENVIRONMENT DIVISION.
  4. INPUT-OUTPUT SECTION.
  5. DATA DIVISION.
  6. WORKING-STORAGE SECTION.
  7. 01 INPUT-RECORD.
  8.  03 IN-DATA1 PIC X(02) VALUE "49".
  9.  03 IN-DATA2 PIC X(02) VALUE "66".
  10.  03 IN-DATA3 PIC X(02) VALUE "65".
  11. 01 OUTPUT-RECORD.
  12.  03 OUT-DATA1 PIC X(01).
  13.  03 OUT-DATA2 PIC X(01).
  14.  03 OUT-DATA3 PIC X(01).
  15. PROCEDURE DIVISION.
  16. MOVE FUNCTION CHAR(IN-DATA1) TO OUT-DATA1.
  17. MOVE FUNCTION CHAR(IN-DATA2) TO OUT-DATA2.
  18. MOVE FUNCTION CHAR(IN-DATA3) TO OUT-DATA3.
  19. DISPLAY OUT-DATA1.
  20. DISPLAY OUT-DATA2.
  21. DISPLAY OUT-DATA3.
  22. STOP RUN.

実行結果(CHAR2):

COBOL言語の予約語CHARを使った文字コードに対応する文字の求め方_サンプルプログラム

今回ご紹介したCHARのサンプルプログラムは、ある指定した文字コードに対応する文字を求める場合に使用する関数でした。普段文字コードを意識したプログラミングをする事は稀かもわかりませんが、ソフトウェアの設定ファイルを編集するときに文字コードで保存したり、通信時の送受信をどの文字コードで行うかの指定をする際には文字コードの知識が欠かせません。実際に活用できるようプログラミングして理解を深めてみましょう。

この記事を読んだ人は、こちらの記事も読んでいます

【未経験者歓迎】COBOLプログラマー・システムエンジニアの募集

株式会社COBOLの求人・転職・募集情報を見る

COBOL入門のカテゴリー

取引企業様 募集中
COBOL技術者 募集
COBOL魂
読者採用
COBOL入門