byte[] ba = Encoding.Default.GetBytes(input);
var hexString = BitConverter.ToString(ba);
hexString = hexString.Replace("-", "");
Console.WriteLine("Or: " + hexString + " in hexadecimal");
Run Code Online (Sandbox Code Playgroud)
所以我明白了,现在我将如何转换hexString为base64字符串?
我尝试了这个,得到了错误:
无法从字符串转换为字节[]
如果该解决方案对其他任何人都有效,那我在做什么错呢?
编辑:
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
Run Code Online (Sandbox Code Playgroud)
我尝试了这一点,但是它在第一行返回“无法将类型'byte []'隐式转换为'string'”,然后返回“参数1:无法从'string'转换为'byte []'”。
您首先需要将十六进制字符串转换为字节数组,然后可以将其转换为base-64。
要将十六进制字符串转换为Base-64,可以使用:
public static string HexString2B64String(this string input)
{
return System.Convert.ToBase64String(input.HexStringToHex());
}
Run Code Online (Sandbox Code Playgroud)
HexStringToHex在哪里:
public static byte[] HexStringToHex(this string inputHex)
{
var resultantArray = new byte[inputHex.Length / 2];
for (var i = 0; i < resultantArray.Length; i++)
{
resultantArray[i] = System.Convert.ToByte(inputHex.Substring(i * 2, 2), 16);
}
return resultantArray;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5481 次 |
| 最近记录: |