首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么统计一个既有中文又有英文的字符串中字符的个数

2012-10-16 
怎样统计一个既有中文又有英文的字符串中字符的个数如题,本人很菜,高手勿喷,还希望有人仔细解答一下,谢谢!

怎样统计一个既有中文又有英文的字符串中字符的个数
如题,本人很菜,高手勿喷,还希望有人仔细解答一下,谢谢!

[解决办法]
汉字是16位编码的,也就是两个字节,首先统计出,整个字符串所占的空间大小(字节数),然后依次判断是不是字母(ctype.h头文件中有相关函数int islower(int ch)这个是测试小写字母,非零-是,0-不是。int isupper(int ch)这个是测试大写字母,非零-是,0-不是)然后循环累加最后算出字母的个数。用总字节数减字母的个数就应该能得到汉字所占的字节数。
 我也是个新手,思路不一定全对,仅供参考。
[解决办法]
看编码, windows默认GBK, 0~127是英文1字节, 大于127的是中文2字节。
[解决办法]
GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。GB2312中汉字的编码范围为,第一字节0xB0-0xF7(对应十进制为176-247),第二个字节0xA0-0xFE(对应十进制为160-254)。

热点排行