gpt4 book ai didi

c# - BitConverter.ToString() 与 Convert.ToBase64String()

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

我原以为 Convert.ToBase64String() 是用来创建字节数组的 ba​​se64 字符串的方法,但我最近遇到了 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("-", "");
}

最佳答案

BitConverter.ToString不进行 Base64 编码,它转换为带连字符的十六进制(Base 16,每个字节之间有破折号)。

最终,使用对您的特定用途有意义的那个。如果您通过文本媒体(例如 http)发送位,请使用 Base64,因为您需要传输的总体数据较少。

如果您只想向用户显示一些二进制数据的文本表示,您可以使用 BitConverter.ToString()

关于c# - BitConverter.ToString() 与 Convert.ToBase64String(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2337742/

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