繁体   English   中英

是否可以从byte []转换为base64string并返回

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM