Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


Unicode および言語文字のエンコード

COBOL for Windows では、Unicode の基本的な実行時サポートを提供しています。Unicode では、全世界で一般的に使用されている文字や記号をすべて網羅する数万文字の取り扱いが可能となります。

文字セット は、定義された文字のセットですが、コード化表現と関連してはいません。 コード化文字セット (本書ではコード・ページ とも呼んでいます) は、セットの文字をそのコード化表現に関係付ける 明確な規則セットです。 各コード・ページには名前があり、文字セットを表現するための記号を設定した一種のテーブルとなっています。それぞれの記号は、固有のビット・パターン、すなわちコード・ポイント を持ちます。 コード・ページにはそれぞれ、コード化文字セット ID (CCSID) があり、1 から 65,536 までの値をとります。

Unicode には、Unicode Transformation Format (UTF) と呼ばれる幾つかのエンコード・スキーム (UTF-8、UTF-16、および UTF-32 など) があります。 COBOL for Windows では、国別リテラル および USAGE NATIONAL を持つデータ項目の表現として、 リトル・エンディアン形式で UTF-16 (CCSID 1202) を使用します。

UTF-8 は、ASCII のインバリアント文字 a から z、A から Z、0 から 9、および一定の特殊文字 (' @ , . +- = / * ( ) など) を ASCII の場合と同様に表します。 UTF-16 は、これらの文字を NX'00nn'として表します (ここで、X'nn' は ASCII での文字表現です)。

例えば、ストリング「ABC」は、UTF-16 では NX'004100420043' として表されます。 UTF-8 では、「ABC」X'414243' として表されます。

1 つまたは複数のエンコード・ユニット を使用して、コード化文字セットから文字を表します。UTF-16 の場合、エンコード・ユニットは 2 バイトのストレージを使用します。任意の EBCDIC、ASCII、または EUC コード・ページで定義された文字はいずれも、国別データ表現に変換されたときに 1 つの UTF-16 エンコード・ユニットで表現されます。

クロスプラットフォームの考慮事項: COBOL for Windows は、 国別データで、リトル・エンディアン形式の UTF-16 をサポートしています。 Enterprise COBOL for z/OS および COBOL for AIX は、 国別データで、ビッグ・エンディアン形式の UTF-16 (UTF-16BE) をサポートしています。 UTF-16BE 表現でエンコードされた Unicode データを別のプラットフォームから COBOL for Windows へ移植する場合、データを国別データとして処理するため、そのデータをリトル・エンディアン形式の UTF-16 に変換する必要があります。 COBOL for Windows では、 このような変換は、NATIONAL-OF 組み込み関数を使用して実行できます。

関連タスク
国別 (Unicode) 表現との間の変換

関連参照
国別データの保管
サポートされるロケールおよびコード・ページ
文字セットとコード・ページ (「COBOL for Windows 言語解説書」)


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)