我想制作一个程序,在VB.NET中将ASCII字符串转换为十六进制。
这就是我所说的:
有一个包含两个文本框和一个按钮的表单。用户在textbox1中输入ASCII,在点击按钮后,textbox2以十六进制显示。
因此在文本框1上输入ASCII:test
按下按钮1后,在textbox2中以十六进制输出:74657374
有办法做到这一点吗?
答案 0 :(得分:1)
将字符串转换为十六进制值
的代码Dim str As String = "test"
Dim byteArray() As Byte
Dim hexNumbers As System.Text.StringBuilder = New System.Text.StringBuilder
byteArray = System.Text.ASCIIEncoding.ASCII.GetBytes(str)
For i As Integer = 0 To byteArray.Length - 1
hexNumbers.Append(byteArray(i).ToString("x"))
Next
MsgBox(hexNumbers.ToString()) ' Out put will be 74657374
以下代码将反转操作并验证输出:
Dim st As String = hexNumbers.ToString
Dim com As String = ""
For x = 0 To st.Length - 1 Step 2
com &= ChrW(CInt("&H" & st.Substring(x, 2)))
Next
MsgBox(com)
答案 1 :(得分:0)
textbox2.Text = ""
For Each c As Char In textbox1.Text
textbox2.Text &= Convert.ToString(Convert.ToInt32(c), 16)
Next