如有SDFSA23,1213SDFA,asfd2154sfd,131sdfds313,我13431,这样的字符串请问如何用公式把数字取出来???或是把字母或汉字取出??多谢!
參考答案:用 unsigned char (就是一个byte) 或 int, 一个字符一个字符地读入输入流.
如果 读入的byte的十六进制值等于:
0x30 到 0x39 -- 就是数字0到9
0x41 到 0x5a -- 就是字母A到Z
0x61 到 0x7a -- 就是字母a到z
ASCII码除数字字母外还有可见(印刷)和不可见符号.
ASCII码是7bit码,最高位是0.
中文码是8bit码,最高位是1,很好区分.
如想进一步区分GB2312和大五码:
如果十六进制值大于 0xa0 它就是中文国标码,且国标码是双字节编码,所以读入一个大于 0xa0 的码,下一个必然也是大于 0xa0 的码,两个码显示出来就是一个汉字.