【问题标题】:How to convert ASCII to hexdecimal in VB.NET?如何在 VB.NET 中将 ASCII 转换为十六进制?
【发布时间】:2014-08-05 00:09:18
【问题描述】:

我想在 VB.NET 中制作一个将ASCII 字符串转换为十六进制的程序。

这就是我要说的:

有一个带有两个文本框和一个按钮的表单。用户在 textbox1 中输入 ASCII 格式的内容,点击按钮后,textbox2 以十六进制显示。

所以在文本框 1 上输入 ASCII:测试

点击button1后在textbox2中以十六进制输出:74657374

有没有办法做到这一点?

【问题讨论】:

  • 什么会让用户相信只允许 ASCII 范围内的字符? .NET 字符串(以及因此的 .Text 属性)使用 Unicode。

标签: vb.net hex


【解决方案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)

【讨论】:

    【解决方案2】:
    textbox2.Text = ""
    For Each c As Char In textbox1.Text
        textbox2.Text &= Convert.ToString(Convert.ToInt32(c), 16)
    Next
    

    【讨论】:

      猜你喜欢
      • 2016-09-27
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      • 2017-11-18
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      • 2016-06-27
      相关资源
      最近更新 更多