C#中的Base 64编码

时间:2012-08-04 15:15:04

标签: c# encoding

我继承了一些C#代码。此代码需要将图片上传到Web服务。此代码将图片字节保存到名为byte[]的{​​{1}}。为了确保最大的可移植性,我想首先将ImageBytes编码为基本64位编码的字符串。我相信以下代码正在这样做,但是,我不确定。有人可以验证我的假设是否正确吗?

ImageBytes

此代码是否将我的StringBuilder sb = new StringBuilder(); this.ImageBytes.ToList<byte>().ForEach(x => sb.AppendFormat("{0}.", Convert.ToUInt32(x))); 转换为基本的64位编码字符串?

谢谢!

3 个答案:

答案 0 :(得分:5)

使用方法System.Convert.ToBase64String()System.Convert.FromBase64String() 例如

public static string EncodeTo64(string toEncode)
{
   byte[] toEncodeAsBytes = Encoding.ASCII.GetBytes(toEncode);
   return Convert.ToBase64String(toEncodeAsBytes);
}

public static string DecodeFrom64(string encodedData)
{
  byte[] encodedDataAsBytes = Convert.FromBase64String(encodedData);
  return Encoding.ASCII.GetString(encodedDataAsBytes);
}

答案 1 :(得分:2)

使用Convert.ToBase64String()方法。它将一个字节数组作为参数并返回转换后的字符串。

答案 2 :(得分:1)

不,那只是将其转换为整数列表。

使用Convert.ToBase64String()。假设ImageBytesbyte[]

var base64Output = Convert.ToBase64String(ImageBytes);