unicode程序中如何判断一个TCHAR字符是否是汉字?

bborn 2007-04-10 12:48:01
unicode程序

wchar_t a = '程';
如何判断 a 是中文还是其他
...全文
771 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
南安风语者 2007-04-11
  • 打赏
  • 举报
回复
vieri_ch能不能写一个例子来看看呀,谢谢了呀
尘雨 2007-04-10
  • 打赏
  • 举报
回复
以下可能比较全一些,取得高字节HIBYTE(a),取得低字节LOBYTE(a)这两个宏会有所帮助
剩下的就是判断区间了


注:在绝大多数应用场合中,我们可以仅用(1)、(2)、(3)、(4)的集合作为CJK判断的依据。

1)标准CJK文字
http://www.unicode.org/Public/UNIDATA/Unihan.html

Code point range Block name Release
U+3400..U+4DB5 CJK Unified Ideographs Extension A 3.0
U+4E00..U+9FA5 CJK Unified Ideographs 1.1
U+9FA6..U+9FBB CJK Unified Ideographs 4.1
U+F900..U+FA2D CJK Compatibility Ideographs 1.1
U+FA30..U+FA6A CJK Compatibility Ideographs 3.2
U+FA70..U+FAD9 CJK Compatibility Ideographs 4.1
U+20000..U+2A6D6 CJK Unified Ideographs Extension B 3.1
U+2F800..U+2FA1D CJK Compatibility Supplement 3.1

2)全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母:FF00-FFEF
http://www.unicode.org/charts/PDF/UFF00.pdf

3)CJK部首补充:2E80-2EFF
http://www.unicode.org/charts/PDF/U2E80.pdf

4)CJK笔划:31C0-31EF
http://www.unicode.org/charts/PDF/U31C0.pdf

5)康熙部首:2F00-2FDF
http://www.unicode.org/charts/PDF/U2F00.pdf

6)汉字结构描述字符:2FF0-2FFF
http://www.unicode.org/charts/PDF/U2FF0.pdf

7)注音符号:3100-312F
http://www.unicode.org/charts/PDF/U3100.pdf

8)注音符号(闽南语、客家语扩展):31A0-31BF
http://www.unicode.org/charts/PDF/U31A0.pdf

9)日文平假名:3040-309F
http://www.unicode.org/charts/PDF/U3040.pdf

10)日文片假名:30A0-30FF
http://www.unicode.org/charts/PDF/U30A0.pdf

11)日文片假名拼音扩展:31F0-31FF
http://www.unicode.org/charts/PDF/U31F0.pdf

12)韩文拼音:AC00-D7AF
http://www.unicode.org/charts/PDF/UAC00.pdf

13)韩文字母:1100-11FF
http://www.unicode.org/charts/PDF/U1100.pdf

14)韩文兼容字母:3130-318F
http://www.unicode.org/charts/PDF/U3130.pdf

15)太玄经符号:1D300-1D35F
http://www.unicode.org/charts/PDF/U1D300.pdf

16)易经六十四卦象:4DC0-4DFF
http://www.unicode.org/charts/PDF/U4DC0.pdf

17)彝文音节:A000-A48F
http://www.unicode.org/charts/PDF/UA000.pdf

18)彝文部首:A490-A4CF
http://www.unicode.org/charts/PDF/UA490.pdf

19)盲文符号:2800-28FF
http://www.unicode.org/charts/PDF/U2800.pdf

20)CJK字母及月份:3200-32FF
http://www.unicode.org/charts/PDF/U3200.pdf

21)CJK特殊符号(日期合并):3300-33FF
http://www.unicode.org/charts/PDF/U3300.pdf

22)装饰符号(非CJK专用):2700-27BF
http://www.unicode.org/charts/PDF/U2700.pdf

23)杂项符号(非CJK专用):2600-26FF
http://www.unicode.org/charts/PDF/U2600.pdf

goodboyws 2007-04-10
  • 打赏
  • 举报
回复
vieri_ch说的正确
yoyo_alex_lw 2007-04-10
  • 打赏
  • 举报
回复
请参考unicode 标准 文献,里头有汉字的Unicode编码范围
healer_kx 2007-04-10
  • 打赏
  • 举报
回复
我觉得楼上两位说得似乎不是很正确。
Windows核心编程第二章讲了。
尘雨 2007-04-10
  • 打赏
  • 举报
回复
高自己->高字节
尘雨 2007-04-10
  • 打赏
  • 举报
回复
中文的unicode码的范围4e00-9fa5
如果是英文asc,高自己是0x00
bborn 2007-04-10
  • 打赏
  • 举报
回复
满天的星星

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧