string中汉字和字母的区分??????????????????????????

zdz86 2009-04-27 09:00:47
string s="string中汉字和字母的区分";

怎么区分s中的中文和英文?

中文每个字节的编码都大于120还是。。。。?

有什么好的资源大家推荐给我哈,谢谢大家。
...全文
209 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hemiya 2009-04-27
  • 打赏
  • 举报
回复
每个char中的最高位为0是英文,
最高位为1是双字节编码,但不一定是中文,具体是不是中文还要看中文的编码范围.
如果考虑的不多,简单点就是最高位为1是中文.
tsoslience 2009-04-27
  • 打赏
  • 举报
回复
编码的值是不一样
mengde007 2009-04-27
  • 打赏
  • 举报
回复
一个汉字占了2字节;一个英文占了一个字节;所以编码的判断不对吧;
  • 打赏
  • 举报
回复
可以根据双字节数据的高字节来判断,为0的就是不汉字。
rlink 2009-04-27
  • 打赏
  • 举报
回复
键值 48 ~ 57 //数字区
键值 65 ~ 90//大写字母区
键值 97 ~ 112)//小写字母区

键值 > 160 //汉字区
lingyin55 2009-04-27
  • 打赏
  • 举报
回复
参考这个
http://topic.csdn.net/t/20021022/14/1114844.html

另外也可以查看数据的ASCII码。数字的ASCII码是48-57,大写字母是65-90,小写是97-122,汉字是45217-63487
really3353 2009-04-27
  • 打赏
  • 举报
回复
编码的值是不一样的。
baiwei156 2009-04-27
  • 打赏
  • 举报
回复
楼主说的是对的。。。。
就是通过编码值来判断的
汉字的大于160
zdz86 2009-04-27
  • 打赏
  • 举报
回复
谢谢大家
zhuweiping2003 2009-04-27
  • 打赏
  • 举报
回复
顶起!!!!!!
好。
夹心饼干 2009-04-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hairetz 的回复:]
可以根据双字节数据的高字节来判断,为0的就是不汉字。
[/Quote]

顶,把字节里的高8位和低8位和0相与,为0的就不是汉字

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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