ページの先頭です。
ここから本文です。

よくあるご質問(サポートFAQ)

【COBOL Enterprise Edition】内部処理コードunicodeの使用

質問内容

unicode(UTF16)文字も扱えますか。
扱えるのであればサロゲートペアについても対応していますか。
また、サロゲートペア4バイト文字はCOBOL上通常の2バイト文字長で処理できますか。
例)
 PIC N(1) ⇒(サロゲートペアを考慮する場合)N(1)のままかN(2)にする必要があるのか。
 同様にX(1)はUTF16の場合2バイトなのでどのような定義になるのか。

回答内容

既定値では、原始プログラムのコードおよびコンパイラ内部の処理コードはシフトJISです。
翻訳オプション(-CU)を指定することより、内部の処理コードをUnicodeにすることができます。
 <-CUオプション指定時>
  計算機英数字符号化文字集合:UTF-8(0x00-0x7f)
  計算機日本語符号化文字集合:UTF-16LE(U+0000~U+FFFF)

サロゲートペアには対応していません。
内部コードUnicodeを使用する場合、日本語項目がUCS-2、英数字項目などの1バイト文字がUTF-8となります。
本COBOLの日本語項目として扱える範囲は、基本多言語面(U+0000~U+FFFF)の2 バイトであり、上位サロゲートペアと下位サロゲートペアの4 バイトで表す第01面~第16面の範囲
の文字は、対象外です。(Unicodeの外字領域等は使用できません)
そのため、日本語項目の領域は N(2) で定義する必要があります。
実行時は、前半2バイトと後半2バイトが別で処理されますので注意してください。

【確認済みのバージョン】すべて
【確認済みの対象OS】Windows

製品名カテゴリ

COBOL

  • コンテンツID: 3150106105
  • 公開日: 2013年10月03日
  • 最終更新日:2013年10月03日

アンケート

サポート情報充実のためアンケートにご協力をお願いいたします。



コメント欄:
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。