IsDBCSLeadByte 関数 (winnls.h)

指定した文字が、システムの既定の Windows ANSI コード ページ (CP_ACP) の先頭バイトであるかどうかを判断します。 先頭バイトは、コード・ページの 2 バイト文字セット (DBCS) 内 の 2 バイト文字 の最初のバイトです。

メモ 別のコード ページを使用するには、アプリケーションで IsDBCSLeadByteEx 関数を使用する必要があります。
 

構文

BOOL IsDBCSLeadByte(
  [in] BYTE TestChar
);

パラメーター

[in] TestChar

テスト対象の文字。

戻り値

テスト文字が潜在バイトである可能性がある場合は、0 以外の値を返します。 テスト文字が先行バイトでない場合、または 1 バイト文字の場合、関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。

注釈

メモ この関数は、証跡バイトの存在または有効性を検証しません。 したがって、MultiByteToWideChar は、IsDBCSLeadByte を使用するアプリケーションがリード バイトとして報告するシーケンスを認識しない可能性があります。 アプリケーションは MultiByteToWideChar の結果と簡単に同期されなくなり、予期しないエラーやバッファー サイズの不一致につながる可能性があります。
 
一般に、コード ページ データを低レベルで操作する代わりに、アプリケーションでは MultiByteToWideChar を 使用してデータを UTF-16 に変換し、そのエンコードで操作する必要があります。

リード バイト値は、個別の各 DBCS に固有です。 一部のバイト値は、DBCS 文字の先頭バイトと後続バイトの両方として 1 つのコード・ページに表示されます。

DBCS 文字列を理解するために、通常、アプリケーションは文字列の先頭から開始し、前方にスキャンし、先行バイトが検出されたときに追跡し、次のバイトを同じ文字の末尾部分として扱います。 アプリケーションをバックアップする必要がある場合は、独自のアルゴリズムを開発する代わりに CharPrev を使用する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー winnls.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

IsDBCSLeadByteEx

MultiByteToWideChar

Unicode および文字セット関数

Unicode と文字セット