在Vb.Net中将字符串转换为Hex的字符串,反之亦然

时间:2013-03-04 10:42:00

标签: vb.net hex ascii

我需要在我能读回来的东西中转换一串完全随机的字符! 我的想法是:

示例字符串:您好

h (Ascii) -> 68 (hex) 
i (Ascii) -> 69 (hex)

因此转换hi我必须6869

我的值现在在Base64(我用Convert.ToBase64String()得到了),这个“ascii到hex”转换是否正确?在base64我有像“4kIw0ueWC / + c =”这样的值,但我只需要字符,特殊字符可能会弄乱我的系统

vb.net转换只能转换为base64字符串:(

编辑:这是我的最终解决方案: 我在我的enc变量中得到了base64字符串,然后首先用ASCII转换它,然后用相应的Hex转换它:

Dim bytes As Byte() = System.Text.Encoding.ASCII.GetBytes(enc)
Dim hex As String = BitConverter.ToString(bytes).Replace("-", String.Empty)

之后,我用以下方式将其改为:

Dim b((input.Length \ 2) - 1) As Byte
For i As Int32 = 0 To b.GetUpperBound(0)
     b(i) = Byte.Parse(input.Substring(i * 2, 2), Globalization.NumberStyles.HexNumber)
Next i
Dim enc As New System.Text.ASCIIEncoding()
result = enc.GetString(b)

毕竟我回到了我的base64string并最后一次使用Convert.FromBase64String(result)

进行了转换

完成!谢谢你的提示:)

1 个答案:

答案 0 :(得分:2)

首先从Byte()字符串中获取base64

Dim data = Convert.FromBase64String(inputString)

然后使用BitConverter

String hex = BitConverter.ToString(data)
相关问题