| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 2332 人关注过本帖
标题:判断一个字符是否纯汉字(非标点符号、英数等)的函数
只看楼主 加入收藏
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:552
专家分:380
注 册:2013-10-4
收藏
得分:0 
后来,我又让 DeepSeek 实现 atU()函数,结果它又非常热心地提供 atU、ratU、atcU、ratcU 全套函数!
AI 时代,感觉已经不用自己去写基础代码了……
3 天前 17:58
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10899
专家分:43509
注 册:2014-5-20
收藏
得分:0 
? lenU("音乐𝄞")

[此贴子已经被作者于2025-11-20 20:57编辑过]

3 天前 20:55
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:552
专家分:380
注 册:2013-10-4
收藏
得分:0 
以下是引用吹水佬在2025-11-20 20:55:15的发言:

? lenU("音乐𝄞")


? lenU(STRCONV("音乐",9) + 0hF09D849E)
结果:4

MultiByteToWideChar这个API无法正确处理4字节的UTF-8?抑或,𝄞算2个字符?
3 天前 21:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10899
专家分:43509
注 册:2014-5-20
收藏
得分:0 
回复 63楼 cssnet
我也是刚搜索UTF-8相关代码时看到的
是不是有32位的Unicode码点
有一段代码:
string: Hello 世界! 𝄞
WideChar[0] = U+0048  // 'H'
WideChar[1] = U+0065  // 'e'
...
WideChar[6] = U+0020  // ' '
WideChar[7] = U+4E16  // '世'
WideChar[8] = U+754C  // '界'
WideChar[9] = U+FF01  // '!'
WideChar[10] = U+0020 // ' '
WideChar[11] = U+D834 // 高代理项 (Musical Symbol G Clef 的一部分)
WideChar[12] = U+DD1E // 低代理项 (Musical Symbol G Clef 的一部分)




[此贴子已经被作者于2025-11-20 21:24编辑过]

3 天前 21:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10899
专家分:43509
注 册:2014-5-20
收藏
得分:0 
觉得直接对UTF-8下手目前有点不现实
windows api 好像也没有直接操作 UTF-8 字符串的函数
可能 UTF-8 并不是什么编码,只是Unicode编码的字节序列,其字符编码还是Unicode编码。
所以,windows api 编程见到的多是 UTF-8 转到 UTF-16 再处理。

3 天前 21:40
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:552
专家分:380
注 册:2013-10-4
收藏
得分:0 
以下是引用吹水佬在2025-11-20 21:40:39的发言:

觉得直接对UTF-8下手目前有点不现实
windows api 好像也没有直接操作 UTF-8 字符串的函数
可能 UTF-8 并不是什么编码,只是Unicode编码的字节序列,其字符编码还是Unicode编码。
所以,windows api 编程见到的多是 UTF-8 转到 UTF-16 再处理。


确实,将 UTF-8 转成 UTF-16 再处理,一切瞬间就好弄多了!事关,UTF-16 是定长字符,没那么多掩码位要一个一个数,几句代码就能解决。

昨天 10:14
sam_jiang
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:14
帖 子:1058
专家分:1632
注 册:2021-10-13
收藏
得分:0 
网页上的汉字字符一般都是utf-8编码的,通常第一个字符>=224,且<=239,第二,三个字符>=128,<=191。

汉字是中日韩三国公用的,一定要分是否为汉字似乎没有意义。只要能确定是否为utf-8编码的字节序便可以了。



昨天 14:52
快速回复:判断一个字符是否纯汉字(非标点符号、英数等)的函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026537 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved