在VB中,我使用IO.File.Readline()方法逐行读取文件。该文件的每一行都包含一个类似于以下
的字符串":1A2C003F4EDCFE3A2F5D66 \ r \ n"
现在我读到的每一行,我想做的就是
1.删除":"和" \ r \ n"从线路
2.将值配对为字节,例如:" 1A 2C 00" ...(现在该线路为" 1A 2C 00 3F 4E DC FE 3A 2F 5D 66")
3.将所有字节一起添加,并查找结果是否为零。例如:(1A + 2C + 00 + 3F + 4E + DC + FE + 3A + 2F + 5D + 66)= 0?
我该怎么办?
到目前为止,我已经完成了
While endofstream = False
stringReader = fileReader.ReadLine()
If stringReader.StartsWith(":") Then
stringReader = stringReader.Replace(vbCr, "")
stringReader = stringReader.Replace(":", "")
MsgBox(stringReader)
答案 0 :(得分:0)
但要小心。你不应该有4个字符的部分? 1A2C 003F 4EDC ......
您所要做的就是将十六进制转换为十进制数并将它们相加
Dim sum As Integer
For index As Integer = 0 To stringReader .Length-1 Step 2
' we take 2 chars
' we use ToInt32 method http://msdn.microsoft.com/en-us/library/f1cbtwff.aspx
sum += Convert.ToInt32(stringReader.Chars(index) & stringReader.Chars(index+1), 16)
Next
' use sum
就我而言,结果是985