【发布时间】:2015-10-18 04:47:17
【问题描述】:
我正在使用 VB-2013。我需要将一个十六进制字符串发送到一个文本文件。不幸的是,由于另一个程序需要从文本文件中读取此十六进制,因此我无法将其作为原始十六进制发送。我还需要操纵一些值来创建校验和。截至目前,当我将它们写入文本文件时,它们显示为十进制。我想知道如何将我的十六进制字符串转换为等效的 ASCII?
这是主要应用程序
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
fileN = TextBox1.Text
path = ("**************" + fileN + ".txt")
Dim fs As New FileStream(path, FileMode.Create, FileAccess.Write)
Dim sw As New StreamWriter(fs)
sw.WriteLine(intV(holder, TextBox2.Text))
sw.Flush()
fs.Close()
End Sub
这是我写的函数
Public Function intV(ByVal arr() As String, r As String)
i = 0
textH = Convert.ToInt16(r)
arr(0) = &H8E
arr(1) = &H71
arr(2) = &H7
arr(3) = &H98
arr(4) = &HD
arr(5) = textH
Do Until arr.Length - 1
sB = sB + arr(i)
i = i + 1
Loop
arr(6) = sB
i = 0
hold = Join(arr, " ")
Return hold
End Function
编辑
在textbox2中输出值为60的文本文件
142 113 7 152 13 60 0
【问题讨论】:
-
我的道歉标签已被删除,希望我当前的标签更适合。
-
String.Format for Hex 的可能重复项
-
很难猜出这段代码试图做什么,它的独特之处在于每一行代码都会产生一个错误。将
Option Strict On放在文件顶部,然后再试一次。 -
只是想了解您究竟想在这里做什么。因此,您 NOT 正在寻找一个带有“8E 71 07 98 0D 60 0”的 string 输出到您的文件?如果没有,您是否正在寻找BinaryWriter.Write()?
标签: vb.net