我正在查看IsCharAlphaNumeric Windows API函數。由於它只需要一個TCHAR,所以顯然不能針對UTF16內容做出關於代理對的任何決定。這是否意味着沒有字母數字字符是代理對?Unicode字母數字字符範圍
2
A
回答
4
BMP以外的字符可以是字母。 (邁克爾卡普蘭最近discussed a bug in the classification of the character U+1F48C。)但IsCharAlphaNumeric
無法看到BMP以外的字符(出於你記下的原因),所以你不能以這種方式獲得他們的分類信息。
如果您有代理對,請致電
GetStringType
用
cchSrc = 2
並檢查
C1_ALPHA
和
C1_DIGIT
。
編輯:此答案的後半部分不正確GetStringType
does not support surrogate pairs。
0
您可以通過查看Unicode plane assignment確定您自己由於無法檢查非BMP代碼點而丟失的內容。
例如,您將無法將英制阿拉姆字符識別爲字母數字。恥辱。
0
這是否意味着沒有字母數字字符是替代對?
不,這個字母組裏有補充的代碼點。
Comparing a char to a code-point?
例如,
Character.isLetter('\uD840')
返回false
,即使如果跟任何低代理值的字符串這個特定的值將是一個字母。
相關問題
- 1. 字母數字範圍UI
- 2. 範圍的字符+數字
- 3. 字母數字範圍查詢
- 4. 在PHP中檢測Unicode字符範圍
- 5. CJK字符的CSS unicode範圍
- 6. CSS字體的Unicode範圍
- 7. 確定可能包含字母和數字字符的數字範圍
- 8. 帶字母和數字的Perl範圍運算符
- 9. SOLR:字段與字母範圍
- 10. Unicode非字母
- 11. 覆蓋整個Unicode字符範圍的一組字體
- 12. 從數字範圍創建字符串
- 13. 代與單個Unicode字母數字字符串從表
- 14. 格式設置包括Unicode字符只有字母數字
- 15. PHP:preg_replace函數用於替換字符串中的範圍的unicode字符
- 16. 如何更換由字母字符包圍的數字字符的字符串
- 17. 如何調整Unicode字符大小以匹配字母字符
- 18. Java字符串輸出字符串限制範圍到字母表
- 19. 正則表達式 - 檢測字母數字字符串不是由非字母數字字符串包圍
- 20. 字母數字字符串
- 21. rangeOfComposedCharacterSequencesForRange將0字符範圍轉換爲1個字符範圍
- 22. 字符範圍與字符轉義
- 23. C - 字符串中字符的範圍
- 24. Unicode數字的字符類
- 25. 範圍驗證器 - 檢查整數範圍時輸入字母
- 26. 轉換數字字符字母字符
- 27. Unicode小寫字母?
- 28. 的Java:整數的Unicode表示超過2個字節字符範圍的
- 29. 使用子字符範圍內的字符()/強迫範圍從字符到數字
- 30. 匹配字母后跟特定數字範圍