我的十六进制字符串
string s=new String("FF7900002481201132570943440402151302961500080054021E000040FFFFFBFF79000024812011");
我想要字符串中的特定数据.. 我的格式:2481201132570943440402151302961500080054021E000040FFFFFBFF790000
它必须是字符串24中的起始值。 它在62年底分裂。值(2481201132570943440402151302961500080054021E000040FFFFFBFF790000 = 62) 最后分裂字符串?
24 ---> (1) 8120113257 - (5) 094047 ---(3) 040215 ---(3) 13029615 -----(4) 00 -------(1) 080054021E -------(5) 000040 ----(3) FFFFFBFF - (4) 79 ---(1) 00 ------(1) 00 -----(1)
如何在java代码中解决它?
由于
答案 0 :(得分:0)
您可以使用
Long.parseLong(string, 16);
答案 1 :(得分:0)
内容的大小是固定还是浮动? 如果是,你可以使用substring和:Long.parseLong(" FFFFFBFF",16);
答案 2 :(得分:0)
您可以将String解析为一系列字符串。
class StringParser {
final StringReader sr;
public StringParser(String text) {
sr = new StringReader(text);
}
public String next(int n) {
char[] chars = new char[n];
sr.read(chars);
return new String(chars);
}
public String nextAsLong(int n) {
return Long.parseInt(next(n));
}
}
StringParser sp = new StringParser("FF7900002481201132570943440402151302961500080054021E000040FFFFFBFF79000024812011");
sp.next(8); // ignored
long first= sp.nextAsLong(2);
long second = sp.nextLong(10);
// etc