我正在查看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. 匹配字母后跟特定数字范围