Convert a hex string to base64
1 2 3 4 | byte[] ba = Encoding.Default.GetBytes(input); var hexString = BitConverter.ToString(ba); hexString = hexString.Replace("-",""); Console.WriteLine("Or:" + hexString +" in hexadecimal"); |
所以我得到了这个,现在我如何将
Cannot convert from string to byte[]
如果这个解决方案对其他人有效,我做错了什么?
编辑:
1 2 | var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText); return System.Convert.ToBase64String(plainTextBytes); |
我试过这个,但是它在第一个函数中返回"无法将类型"byte[]"隐式转换为"string"行,然后是"参数1:无法从"string"转换为"byte[]"。
首先需要将十六进制字符串转换为字节数组,然后可以将其转换为base-64。
要将十六进制字符串转换为base-64,可以使用:
1 2 3 4 | public static string HexString2B64String(this string input) { return System.Convert.ToBase64String(input.HexStringToHex()); } |
其中hexstringtohex是:
1 2 3 4 5 6 7 8 9 | 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; } |