NLS 関数:マルチバイト文字列を現在のコードページから Unicode 文字列に変換します。
モジュール:USE DFNLS
形式
result = MBConvertMBToUnicode (mbstr, unicodestr [, flags ])
mbstr
(入力) CHARACTER*(*)。変換するマルチバイト文字列。
unicodestr
(出力) INTEGER(2)。入力文字を Unicode に変換した整数配列。
flags
(省略可能,入力) INTEGER(4)。指定すると,文字列変換を修正します。flags が省略されると,値 NLS$Precomposed が使用されます。利用可能な値 (DFNLS.F90 で定義) は以下のとおりです。
NLS$Precomposed - 常に事前構成された文字を使います。(基本設定)
NLS$Composite - 常に混成ワイド文字を使います。
NLS$UseGlyphChars - 制御文字の代わりにグリフ文字を使います。
NLS$ErrorOnInvalidChars - 無効な文字が入力された場合,-1 を返します。
フラグ NLS$Precomposed および NLS$Composite は相互に排他的です。包含的 OR (IOR または OR) を使って NLS$Precomposed または NLS$Composite のどちらかと NLS$UseGlyphChars を結合することができます。
結果
結果の型は INTEGER(4) です。エラーがない場合,unicodestr に書き込まれたバイト数,または unicodestr の大きさがゼロの場合,出力文字列を保持するために必要となるバイト数が返されます。unicodestr 配列が変換を保持するために必要な大きさよりも大きい場合,余分な要素には空白文字が設定されます。unicodestr の大きさがゼロの場合,関数は変換を保持するために必要なバイト数を返し,unicodestr に何も書き込みません。
エラーが発生した場合,以下の負の値の 1 つが返されます。
NLS$ErrorInsufficentBuffer - unicodestr が小さすぎますが,大きさがゼロではありません。そのため,必要なバイト数が返されます。
NLS$ErrorInvalidFlags - flags 引数が無効な値です。
NLS$ErrorInvalidCharacter - Unicode に変換されない文字が mbstr で見つかりました。このエラーは,NLS$InvalidCharsError フラッグが flags で使用された場合のみに発生します。
基本設定または flags が NLS$Precomposed に設定されている場合,関数 MBConvertMBToUnicode はマルチバイト・コードページ文字列を事前構成 Unicode 文字列に変換しようとします。事前構成形式が存在しない場合,関数はコードページ文字列を合成形式に変換しようとします。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報