+ -
当前位置:首页 → 问答吧 → 如何判断得到的字串是十六进制还是普通ASC码呢?

如何判断得到的字串是十六进制还是普通ASC码呢?

时间:2011-12-04

来源:互联网

我的程序返回值会出现两种情况,有的时候是ASC码,比如:Program
还有的时候会是十六进制的,比如:4e34334448395a54
我现在是想通过判断把十六进制统一成普通字符,应该如何判断是否十六进制呢??

作者: Richardw   发布时间: 2011-12-04

严谨的来讲,应该从数据源抓起,设置一个标志,说明是十六进制还是ASCII字符。

如果将就一下,就分析返回的字符串,遍历一下,看每个字符是否处于0~9或A~F之间。

作者: ccrun   发布时间: 2011-12-04

谢谢妖哥,可ASC码也有恰好都是0~F之间的,这样说来就没安全的办法了吧

其实我想得到各种机器配置情况下的硬盘的序列号,你主页的代码很好,但在串口、多硬盘、移动硬盘及RAID掺杂的情况下不能正确得到结果呀,我现在想按各类设备分别取,可返回的结果在各种牌子、各种接口之间差别很大,妖哥有好办法没呀?

作者: Richardw   发布时间: 2011-12-04

"可ASC码也有恰好都是0~F之间的,这样说来就没安全的办法了吧"

所以说,应该从数据源抓起。

我站上获取硬盘序列号的代码,对有些硬盘是不支持的。

作者: ccrun   发布时间: 2011-12-04

那对做了RAID的盘有好办法取出序列号吗?

作者: Richardw   发布时间: 2011-12-04

我暂时没研究过RAID的序列号。

作者: ccrun   发布时间: 2011-12-04