0

我有一个程序可以读取十六进制字符串,并根据字符串的参数返回文本。十六进制字符串如下:

A : B : C

A - B 的长度

B - 接口名称

C - 不重要

例如,例如;

0465746830010000 = 
04 : 65746830 : 010000 =
4 : eth0 : __________

现在,我想处理十六进制字符串,以便如果有一个字符不在字母表、0-9 或 '-' 中,它会以某种方式让我知道。

比如这里:

0266010000
02 : 6601 : _______
2 : f[unreadable] : _______

关于如何处理这个问题的任何想法,以便让我知道这些参数之外的任何字符是否出现?

4

1 回答 1

0

一个快速的正则表达式可以做到这一点,例如在 java 中:

myString.matches([0-9a-fA-F]*)

true如果整个字符串由十六进制数字组成,将返回,false如果有其他字符,将返回。

还有,你为什么要接受这个-角色?这些字符串应该(如果设计得当)包含数字的无符号表示。如果它们超出了您的控制范围,那么我想您只需要处理它,但仍然如此。

于 2013-06-19T11:07:37.657 回答