Convertir cadena a hexadecimal en C#

Muhammad Maisam Abbas 16 febrero 2024
  1. Convertir cadena a hexadecimal con el método BitConverter.ToString() en C#
  2. Convertir cadena a hexadecimal con el método String.Format() en C#
Convertir cadena a hexadecimal en C#

Este tutorial discutirá los métodos para convertir una cadena en hexadecimal en C#.

Convertir cadena a hexadecimal con el método BitConverter.ToString() en C#

Si tenemos una cadena que contiene valores numéricos de base 10 y necesitamos convertirla a una cadena que contiene valores numéricos de base 16, podemos usar el método BitConverter.ToString() para eso. El método BitConverter.ToString(x) en C# convierte cada elemento en el array de bytes x en un valor hexadecimal. Para usar el método BitConverter.ToString(), tenemos que convertir nuestra variable de cadena en un array de bytes con el método Encoding.Default.GetBytes(). Este método convierte una variable de cadena en un array de bytes en C#. El método BitConverter.ToString() devuelve una cadena hexadecimal en la que cada valor se separa con -. Podemos usar el método String.Replace() para eliminar el separador -.

using System;
using System.Linq;
using System.Text;

namespace string_to_hex {
  class Program {
    static void Main(string[] args) {
      string decString = "0123456789";
      byte[] bytes = Encoding.Default.GetBytes(decString);
      string hexString = BitConverter.ToString(bytes);
      hexString = hexString.Replace("-", "");
      Console.WriteLine(hexString);
    }
  }
}

Producción :

30313233343536373839

En el código anterior, convertimos la cadena decString con valores decimales a la cadena hexString con valores hexadecimales con el método BitConverter.ToString() en C#.

Convertir cadena a hexadecimal con el método String.Format() en C#

El método String.Format() formatea una cadena de acuerdo con el especificador de formato dado en C#. El especificador de formato {0:X2} especifica el formato hexadecimal. Podemos usar el especificador de formato {0:X2} dentro del método String.Format() para formatear una cadena con valores decimales a una cadena con valores hexadecimales. Podemos usar LINQ para formatear fácilmente cada carácter de la cadena decimal a un formato hexadecimal.

using System;
using System.Linq;
using System.Text;

namespace string_to_hex {
  class Program {
    static void Main(string[] args) {
      string decString = "0123456789";
      var hexString =
          string.Join("", decString.Select(c => String.Format("{0:X2}", Convert.ToInt32(c))));
      Console.WriteLine(hexString);
    }
  }
}

Producción :

30313233343536373839

En el código anterior, convertimos la variable de cadena decString con valores decimales a la variable de cadena hexString con valores hexadecimales con el método String.Format() y LINQ en C#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artículo relacionado - Csharp String

Artículo relacionado - Csharp Hex