IsDBCSLeadByteEx 函式 (winnls.h)
判斷指定的字元是否可能是前置位元組。 前置位元組是 雙位元組位元集中雙位元組位元 的第一個字節, (代碼頁的 DBCS) 。
語法
BOOL IsDBCSLeadByteEx(
[in] UINT CodePage,
[in] BYTE TestChar
);
參數
[in] CodePage
用來檢查潛在客戶位元組範圍的代碼頁標識碼。 此參數可以是 Unicode 和字元集常數 中定義的其中一個代碼頁識別碼,或下列其中一個預先定義的值。 此函式只會驗證代碼頁 932、936、949、950 和 1361 中的前置位元組值。
值 | 意義 |
---|---|
|
使用系統預設的 Windows ANSI 代碼頁。 |
|
使用系統預設Macintosh代碼頁。 |
|
使用系統預設 OEM 代碼頁。 |
|
使用目前線程的 Windows ANSI 代碼頁。 |
[in] TestChar
要測試的字元。
傳回值
如果位元組是前置位元組,則傳回非零值。 如果位元組不是前置位元組,或字元是單一位元組位元元,則此函式會傳回0。 若要取得擴充的錯誤資訊,應用程式可以呼叫 GetLastError。
備註
注意 此函式不會驗證尾端位元組是否存在或有效性。 因此, MultiByteToWideChar 可能無法辨識使用 IsDBCSLeadByte 報告作為潛在客戶位元組的應用程式順序。 應用程式可以輕鬆地隨著 MultiByteToWideChar 的結果而變得未同步處理,可能會導致未預期的錯誤或緩衝區大小不符。
前置位元組值專屬於每個不同的 DBCS。 某些位元組值可以在單一代碼頁中顯示為 DBCS 字元的前置和尾端位元組。 因此, IsDBCSLeadByteEx 只能指出潛在的前置位元元組值。
為了瞭解 DBCS 字串,應用程式通常會從字元串開頭開始,並向前掃描、追蹤遇到前置位元組時,以及將下一個字節視為相同字元的尾端部分。 若要備份,應用程式應該使用 CharPrevExA ,而不是嘗試開發自己的演算法。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | winnls.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |