Pensé que Convert.ToBase64String()
era el método a usar para crear una cadena base64 de una matriz de bytes, pero recientemente me encontré con BitConverter.ToString()
. ¿Cuál es la diferencia entre los dos?BitConverter.ToString() vs Convert.ToBase64String()
Y más específicamente, ¿cuándo se debe usar uno sobre el otro?
Por ejemplo, en this question trata de crear un resumen MD5, un comentario de CraigS en una respuesta estados "ToBase64String no devuelve lo que quiero. Sin embargo, BitConverter.ToString alrededor de la matriz de bytes hace el truco."
BitConverter.ToString(
MD5.Create().ComputeHash(Encoding.Default.GetBytes(StringToEncode))
).Replace("-", "")
vs
Convert.ToBase64String(
MD5.Create().ComputeHash(Encoding.Default.GetBytes(StringToEncode))
)
Además, lo que se debe utilizar para codificar imágenes para base 64?
public string ImageToBase64(int Img_ID)
{
byte[] tempBytes = showImageById(Img_ID); // get image from DB
return Convert.ToBase64String(tempBytes);
}
vs
public string ImageToBase64(int Img_ID)
{
byte[] tempBytes = showImageById(Img_ID); // get image from DB
return BitConverter.ToString(tempBytes).Replace("-", "");
}
base 16 (hex) frente a base 64! obviamente la cadena convertida en base 64 será más pequeña. – Fakrudeen