Eventuali duplicati:
How do you convert Byte Array to Hexadecimal String, and vice versa?La maggior parte della conversione leggera da esadecimale in C#?
ho bisogno di un modo efficiente e veloce per fare questa conversione. Ho provato due modi diversi, ma non sono abbastanza efficienti per me. C'è qualche altro metodo rapido per realizzare questo in tempo reale per un'applicazione con enormi dati?
public byte[] StringToByteArray(string hex)
{
return Enumerable.Range(0, hex.Length/2).Select(x => Byte.Parse(hex.Substring(2 * x, 2), NumberStyles.HexNumber)).ToArray();
}
Quanto sopra mi è sembrato più efficiente.
public static byte[] stringTobyte(string hexString)
{
try
{
int bytesCount = (hexString.Length)/2;
byte[] bytes = new byte[bytesCount];
for (int x = 0; x < bytesCount; ++x)
{
bytes[x] = Convert.ToByte(hexString.Substring(x * 2, 2), 16);
}
return bytes;
}
catch
{
throw;
}
L'altra domanda, anche se apparentemente sulle conversioni in entrambe le direzioni, finisce incentrata sulla conversione da byte esadecimale. Questa domanda riguarda la migliore conversione nell'altra direzione, quindi FWIW, penso che aggiunga qualcosa. – JasonD
Questo non è sicuramente un duplicato, in quanto fornisce un insieme molto focalizzato di risposte alla domanda specifica fornita –