STD_ConvertStringSjisToUnicode

構文

#include <nitro/std.h>

STDResult STD_ConvertStringSjisToUnicode(u16 *dst, int *dst_len, const char *src, int *src_len, STDConvertUnicodeCallback callback);

引数

dst 変換先の Unicode 文字列バッファ
NULL を指定した場合は格納処理が無視されます。
dst_len 変換先バッファに格納できる最大文字数を渡し、実際に格納された文字数を受けるためのポインタ
文字数はバイトサイズでない点に注意してください。
NULLを指定した場合は無視されます。
src 変換元の ShiftJIS 文字列バッファ
src_len 変換すべき最大バイトサイズを渡し、実際に変換されたバイトサイズを受けるためのポインタ
負の値を渡した場合、またはNULLを指定した場合はsrcの終端までの長さを指定したものとみなします。
callback 変換できない文字が現れたときに呼ばれるコールバックを指定します。

返り値

変換処理の結果を示すSTDResult型の値を返します。
dstがNULLでない場合は、変換した文字列をdstへ格納しつつ変換後の文字数をsrc_lenとdst_lenに返します。
dstがNULLの場合は、変換した文字列を格納せず変換後の文字数のみを返します。
常に、終端のL'\0'は付与されず文字数にも含みません。

説明

ShiftJIS 形式の文字列を Unicode 形式の文字列に変換します。
API が変換できない ShiftJIS 形式の文字が見つかった場合、その都度コールバックが発生します。
コールバックを NULL で指定した場合、変換できない文字が現れた時点で処理を終了します。

dstにNULLを指定することにより、変換後の文字列長のみを求めることが出来ます。

参照

STDResult
STD_ConvertCharSjisToUnicode, STD_ConvertStringUnicodeToSjis, STD_ConvertCharUnicodeToSjis, STDConvertUnicodeCallback

履歴

2006/08/10 インタフェース変更。
2006/07/24 インタフェース変更。
2006/07/05 初版