gpt4 book ai didi

c# - 从字节数组到 base64 的转换以及返回

转载 作者:IT王子 更新时间:2023-10-29 04:05:02 26 4
gpt4 key购买 nike

我正在尝试:

  1. 生成一个字节数组。
  2. 将该字节数组转换为 base64
  3. 将该 base64 字符串转换回字节数组。

我尝试了一些解决方案,例如 question 中的那些.

由于某种原因,初始字节数组和最终字节数组不匹配。这是使用的代码:

using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
{
byte[] originalArray = new byte[32];
rng.GetBytes(key);
string temp_inBase64 = Convert.ToBase64String(originalArray);
byte[] temp_backToBytes = Encoding.UTF8.GetBytes(temp_inBase64);
}

我的问题是:

  1. 为什么“originalArray”和“temp_backToBytes”不匹配? (originalArray长度为32,temp_backToBytes长度为44,但它们的值也不一样)

  2. 是否可以来回转换,如果可以,我该如何实现?

最佳答案

编码数组长约四分之一的原因是 base-64 编码仅使用每个字节中的六位;这就是它存在的原因 - 以适合通过仅 ASCII channel (例如电子邮件)进行交换的方式对任意数据(可能带有零和其他不可打印字符)进行编码。

返回原始数组的方法是使用 Convert.FromBase64String:

 byte[] temp_backToBytes = Convert.FromBase64String(temp_inBase64);

关于c# - 从字节数组到 base64 的转换以及返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11634237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com