我在我的C++/CLI项目中使用ToBase64String
方法,它可以生成像/MnwRx7kRZEQBxLZEkXndA==
这样的字符串。我想将此字符串转换为十六进制表示法,请问我该如何在C++/CLI或C#中进行?
FromBase64String 函数将把 string
转换为 byte
数组。
byte[] bytes = Convert.FromBase64String(string s);
接着,BitConverter.ToString()
会将一个字节数组转换为十六进制字符串(byte[] to hex string)。
string hex = BitConverter.ToString(bytes);
将字符串转换为字节数组,然后进行字节到十六进制转换
string stringToConvert = "/MnwRx7kRZEQBxLZEkXndA==";
byte[] convertedByte = Encoding.Unicode.GetBytes(stringToConvert);
string hex = BitConverter.ToString(convertedByte);
Console.WriteLine(hex);
public string Base64ToHex(string strInput)
{
try
{
var bytes = Convert.FromBase64String(strInput);
var hex = BitConverter.ToString(bytes);
return hex.Replace("-", "").ToLower();
}
catch (Exception)
{
return "-1";
}
}
ToBase64String
并改用BitConverter::ToString
。 - Ben Voigt