CPINFO 構造体 (winnls.h)
コード ページに関する情報が含まれます。 この構造体は 、GetCPInfo 関数によって使用されます。
構文
typedef struct _cpinfo {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
} CPINFO, *LPCPINFO;
メンバー
MaxCharSize
コード ページ内の文字の最大長 (バイト単位)。 長さは、1 バイト文字セット (SBCS) の場合は 1、2 バイト文字セット (DBCS) の場合は 2、他の文字セット型の場合は 2 より大きい値にすることができます。 ISCII または ISO-2022-xx コード・ページの使用など、他の要因により、この関数はサイズを使用して SBCS または DBCS を他の文字セットと区別できません。
DefaultChar[MAX_DEFAULTCHAR]
文字列を特定のコード ページに変換するときに使用される既定の文字。 この文字は、明示的な既定の文字が指定されていない場合に WideCharToMultiByte 関数によって使用されます。 通常、既定値はコード ページの "?" 文字です。
LeadByte[MAX_LEADBYTES]
リード バイト範囲の数が可変である、リード バイト範囲の固定長配列。 コード ページにリード バイトがない場合、配列のすべての要素は NULL に設定されます。 コード ページにリード バイトがある場合、配列は各範囲の開始値と終了値を指定します。 範囲は包括的で、コード ページの範囲の最大数は 5 です。 配列では、2 バイトを使用して各範囲を記述し、最後の範囲の後にターミネータとして 2 つの null バイトを指定します。
解説
リード バイトは、256 文字を超える DBCS コード ページに固有です。 リード・バイトは、DBCS 内の 2 バイト文字の最初のバイトです。 各 DBCS コード・ページで、リード・バイトはバイト値の特定の範囲を占有します。 この範囲は、コード ページごとに異なります。
リード バイト情報は、ほとんどのコード ページではあまり役に立ちません。また、UTF-8 やGB18030など、多くのマルチバイト エンコーディングに対しても提供されません。 アプリケーションでは、この情報を使用して MultiByteToWideChar または WideCharToMultiByte 関数が何を行うかを予測することはお勧めしません。 リード バイトの後のバイトが想定どおりにでない場合、関数は既定の文字を使用するか、その他の既定の動作を実行する可能性があります。
GetCPInfoEx 関数によって使用される CPINFOEX は、この構造体の拡張バージョンを提供します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | winnls.h (Windows.h を含む) |