NLS 関数:Unicode 文字列を現在のコードページからマルチバイト文字列に変換します。
モジュール:USE DFNLS
形式
result = MBConvertUnicodeToMB (unicodestr, mbstr [, flags ])
unicodestr
(入力) INTEGER(2)。変換する Unicode 文字列を保持する整数配列。
mbstr
(出力) CHARACTER*(*)。現在のコードページからマルチバイト文字へ Unicode 文字の変換。
flags
(省略可能,入力) INTEGER(4)。指定すると,文字列変換を修正します。flags が省略されると,変換の余分な検証が行われません。利用可能な値 (DFNLS.F90 で定義) は以下のとおりです。
NLS$CompositeCheck - 合成文字を事前構成に変換します。
NLS$SepChars - 分離文字を生成します。
NLS$DiscardDns - 非空白文字を削除します。
NLS$DefaultChars - 例外を基本文字で置き換えます。
最後の 3 つのフラグ (NLS$SepChars,NLS$DiscardDns,および NLS$DefaultChars) は,相互に排他的で,NLS$CompositeCheck が設定された時のみ使用することができます。この場合,これらの 1 つを包含的 OR (IOR または OR) を使って NLS$CompositeCheck と結合します。これらのフラグは,Unicode ワイド文字列の基本文字/非空白文字の組み合わせに対する事前構成マッピングがない時に,何を変換するかを決定します。基本設定 (IOR(NLS$CompositeCheck,NLS$SepChars)) は,分離文字を生成します。
結果
結果の型は INTEGER(4) です。エラーがない場合,mbstr に書き込まれたバイト数,または mbstr の大きさがゼロの場合,出力文字列を保持するために必要となるバイト数が返されます。mbstr 配列が変換を保持するために必要な大きさよりも大きい場合,余分な要素には空白文字が設定されます。mbstr の大きさがゼロの場合,関数は変換を保持するために必要なバイト数を返し,mbstr に何も書き込みません。
エラーが発生した場合,以下の負の値の 1 つが返されます。
NLS$ErrorInsufficentBuffer - mbstr が小さすぎますが,大きさがゼロではありません。そのため,必要なバイト数が返されます。
NLS$ErrorInvalidFlags - flags 引数が無効な値です。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報