Binario a hexadecimal y hexadecimal a binario en C# (Algo como bin2hex y hex2bin de php)
Al igual que para Java, a continuación presento dos métodos muy útiles para C# utilizados muy a menudo, sobre todo, cuando se trata de manejar datos para Web. Los métodos convierten un String hexadecimal a un array de bytes y viceversa.
Nota: Dejo los comentarios estilo “javadoc” mientras los cambio por el formato XML
Hexa a binario (hex2bin) C#
/** Convierte una cadena de caracteres en formato hexadecimal a un array de bytes * @param hex La cadena fuente en formato hexadecimal * @return Array de bytes */ public byte [] hex2bin(String hex){
int NumberChars = hex.Length; byte[] bytes = new byte[NumberChars / 2]; for (int i = 0; i < NumberChars; i += 2) bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16); return bytes;
}
Binario a hexa (bin2hex) C#
/** Convierte un array de bytes [] en una cadena de caracteres hexadecimal * @param bytes Array de bytes para ser convertidos a hexa * @return Cadena en hexadecimal */ public String bin2Hex(byte[] bytes) { StringBuilder hex = new StringBuilder(bytes.Length * 2);
for (int i = 0; i < bytes.Length; i++) hex.Append(bytes[i].ToString("X2"));
return hex.ToString(); }
