UTF-8 文字形象定数の使用

UTF-8 文字を必要とするコンテキストでは、形象定数の ALL utf-8-literal を使用できます。 ALL utf-8-literal は、UTF-8 リテラルを構成する連続したエンコード・ユニットの連結によって生成される、ストリングの全部または一部を表します。

このタスクについて

UTF-8 文字を必要とするコンテキスト (MOVE ステートメント、暗黙移動、または、UTF-8 オペランドを持つ比較条件など) では、形象定数 QUOTESPACEHIGH-VALUELOW-VALUE、または ZERO を使用できます。 こうしたコンテキストでは、形象定数は UTF-8 文字 (UTF-8) 値を表します。

UTF-8 文字が必要となるコンテキストで形象定数 QUOTE を使用するときに QUOTE コンパイラー・オプションが有効であれば、値は UX'22' となります。 APOST コンパイラー・オプションが有効であれば、値は UX'27' となります。

UTF-8文字を必要とする文脈で形容定数 'HIGH-VALUEを使用する場合、'値は Unicode コードポイントU+10FFFF に対応するUTF-8文字UX'F48FBFBF'となります。ただし、HIGH-VALUE が 4 バイトの倍数でない長さを持つ固定バイト長のUTF-8データ項目との移動または比較操作で使用される場合を除きます。 その場合、HIGH-VALUE がUTF-8データ項目の最後の 3 バイト、2 バイト、1 バイトに移動されたとき、またはそれと比較されたとき、HIGH-VALUE の値はそれぞれ UX'EFBFBF'(U+FFFF)、UX'DFBF'U+07FF、UX'7F'U+007F)となる。

国別文字を必要とするコンテキストで LOW-VALUE を使用すると、その値は UX'00' です。

制約事項: HIGH-VALUES に設定された UTF-8 データ項目を、HIGH-VALUES に設定された英数字データ項目または国別データ項目と比較する場合、それらは等しいものとして評価されません。 これは、あるデータ・タイプの HIGH-VALUE 値が、別のデータ・タイプの対応する HIGH-VALUE 値に変換されないためです。

関連文献  
比喩的定数 (Enterprise COBOL for z/OS®言語リファレンス)  
ディスプレイオフ (Enterprise COBOL for z/OS言語リファレンス)  
ユニコードのサポートユニコードサービスの使用