[英]is it possible to convert from byte[] to base64string and back
我试过这个:
Console.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes("hi")));
Console.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes(Convert.ToBase64String(Encoding.UTF8.GetBytes("hi")))));
我得到了不同的结果,虽然我认为它应该是一样的
在第二行中,您没有将转换反转为Base64,只需重新应用它。
你想使用Convert.FromBase64String并说:
Console.WriteLine(
Convert.ToBase64String(
Convert.FromBase64String(
Convert.ToBase64String(Encoding.UTF8.GetBytes("hi")))));
错误的问题!
您正尝试两次转换为base64。 您需要使用base64转换。
在您的帖子中,您将转换为Base64String,然后将其编码为另一个Base64String。 这肯定不会给你一个结果,因为你想编码到Base64String,然后解码回原始值。
您的代码必须看起来像这样编码/解码:
string toEncode = "hi";
// Convert to base64string
byte[] toBytes = Encoding.UTF8.GetBytes(toEncode);
string base64 = Convert.ToBase64String(toBytes);
// Convert back from the base64string
byte[] fromBase64 = Convert.FromBase64String(base64);
string result = Encoding.UTF8.GetString(fromBase64);
顺序1:
一种。 将“hi”转换为UTF
湾 将UTF转换为base 64
顺序2:
一种。 将“hi”转换为UTF v1
湾 将UTF v1转换为base 64 v1
C。 将base 64 v1转换为UTF v2
d。 将UTF v2转换为base 64 v2
像这样分解,应该清楚为什么你不希望这些产生相同的输出。 通过超长函数链进行混淆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.