我BitConverter.ToString(bytes)
用于将字符串转换为十六进制字符串,然后将其进一步转换为整数或浮点数。
但是输入流由 0 组成,表明字节值为 0。所以假设我有一个整数,它由从位置 x 开始的 2 个字节的输入表示,第一个由EE
while 2nd byte is组成00
。现在,当我使用时,BitConverter.ToString(bytes, x, 2).Replace ("-","")
我得到的输出是EE00
其整数值,60928
但在这种情况下,输出应该是238
仅将第一个字节转换EE
为整数。
但在其他一些情况下,这 2 个字节可能是EE01
其整数值60929
,在这种情况下是正确的。
有什么建议可以解决我的问题吗?
由于有些人说这个问题令人困惑,我将重申我的问题,我有很长的十六进制字符串作为输入。在十六进制字符串中
1) 前 12 个字节代表字符串。2)接下来的 11 个字节也代表一些其他的字符串。3) 接下来的 1 个字节代表整数。4) 接下来的 3 个字节代表整数。5) 接下来的 4 个字节代表整数。6) 接下来的 4 个字节代表浮点数。7) 接下来的 7 个字节代表字符串。8) 接下来的 5 个字节代表整数。
因此,对于第 4 种情况,如果字节是 ee 00 00,那么我应该忽略 0 并将 ee 转换为整数。但如果它 ee 00 ee 那么我应该将 ee00ee 转换为整数。同样,每次我都会遵循与上述相同的模式。