在Vb.Net中将字符串转换为十六进制字符串,反之亦然

在Vb.Net中将字符串转换为十六进制字符串,反之亦然,vb.net,hex,ascii,Vb.net,Hex,Ascii,我需要将一个完全随机的字符串转换成我可以读回的格式! 我的想法是: 示例字符串:hi h (Ascii) -> 68 (hex) i (Ascii) -> 69 (hex) 所以转换hi我必须拥有6869 我的值现在是Base64(我是通过Convert.ToBase64String()获得的),这个“ascii到十六进制”转换正确吗?在base64中,我有类似“4kIw0ueWC/+c=”的值,但我只需要字符,特殊字符会弄乱我的系统 vb.net转换只能转换为base64字符串

我需要将一个完全随机的字符串转换成我可以读回的格式! 我的想法是:

示例字符串:hi

h (Ascii) -> 68 (hex) 
i (Ascii) -> 69 (hex)
所以转换
hi
我必须拥有
6869

我的值现在是
Base64
(我是通过
Convert.ToBase64String()
获得的),这个“ascii到十六进制”转换正确吗?在base64中,我有类似“4kIw0ueWC/+c=”的值,但我只需要字符,特殊字符会弄乱我的系统

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

编辑:这是我的最终解决方案: 我在
enc
变量中获取了base64字符串,并首先将其转换为ASCII格式,然后使用以下格式转换为Correspondent 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)

完成!感谢提示:)

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

Dim data = Convert.FromBase64String(inputString)
然后使用:


Base64与十六进制表示法无关。是的,我知道,很抱歉,如果这篇文章让我感到困惑,我还在学习英语:)它不转换字符,而是转换字节。我认为OP实际上根本不需要Base64编码。我现在得到了类似“90-8C-34-B9-E5-82-FF-E7”的东西,对我来说还可以!我将删除任何“-”字符,并执行相反的功能,使这项工作!非常感谢。
String hex = BitConverter.ToString(data)