Avevo pensato che Convert.ToBase64String()
fosse il metodo da utilizzare per creare una stringa base64 di un array di byte, ma recentemente mi sono imbattuto in BitConverter.ToString()
. Qual è la differenza tra i due?BitConverter.ToString() vs Convert.ToBase64String()
E più precisamente, quando si dovrebbe essere usato sopra l'altro?
Per esempio in this question di creare un digest MD5, un commento di CraigS su una risposta Stati "ToBase64String non restituisce quello che voglio. Tuttavia, BitConverter.ToString intorno l'array di byte fa il trucco."
BitConverter.ToString(
MD5.Create().ComputeHash(Encoding.Default.GetBytes(StringToEncode))
).Replace("-", "")
vs
Convert.ToBase64String(
MD5.Create().ComputeHash(Encoding.Default.GetBytes(StringToEncode))
)
Inoltre, quello che dovrebbe essere usato per codificare le immagini in Base64?
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 (esadecimale) rispetto alla base 64! ovviamente la base 64 della stringa convertita sarà più piccola. – Fakrudeen