【发布时间】:2010-02-25 21:26:46
【问题描述】:
我曾认为Convert.ToBase64String() 是用于创建字节数组的base64 字符串的方法,但我最近遇到了BitConverter.ToString()。两者有什么区别?
更具体地说,什么时候应该使用一个而不是另一个?
例如,在this question 关于创建 MD5 摘要中,CraigS 对答案的评论指出“ToBase64String 没有返回我想要的。但是,字节数组周围的 BitConverter.ToString 可以解决问题。”
BitConverter.ToString(
MD5.Create().ComputeHash(Encoding.Default.GetBytes(StringToEncode))
).Replace("-", "")
对
Convert.ToBase64String(
MD5.Create().ComputeHash(Encoding.Default.GetBytes(StringToEncode))
)
另外,应该使用什么将图像编码为 base64?
public string ImageToBase64(int Img_ID)
{
byte[] tempBytes = showImageById(Img_ID); // get image from DB
return Convert.ToBase64String(tempBytes);
}
对
public string ImageToBase64(int Img_ID)
{
byte[] tempBytes = showImageById(Img_ID); // get image from DB
return BitConverter.ToString(tempBytes).Replace("-", "");
}
【问题讨论】:
-
base 16 (hex) vs base 64!显然 base 64 转换后的字符串会更小。