Converter String em Hex em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Converta String em Hex com o método BitConverter.ToString() em C#
  2. Converter String em Hex com o método String.Format() em C#
Converter String em Hex em C#

Este tutorial irá discutir os métodos para transformar uma string em hexadecimal em C#.

Converta String em Hex com o método BitConverter.ToString() em C#

Se tivermos uma string que contém valores numéricos de base 10 e precisarmos convertê-la em uma string que contenha valores numéricos de base 16, podemos usar o método BitConverter.ToString() para isso. O método BitConverter.ToString(x) em C# converte cada elemento na matriz de bytes x em um valor hexadecimal. Para usar o método BitConverter.ToString(), temos que converter nossa variável string em um array de bytes com o método Encoding.Default.GetBytes(). Este método converte uma variável de string em um array de bytes em C#. O método BitConverter.ToString() retorna uma string hexadecimal na qual cada valor é separado por -. Podemos usar o método String.Replace() para remover o 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);
    }
  }
}

Resultado:

30313233343536373839

No código acima, convertemos a string decString com valores decimais na string hexString com valores hexadecimais com o método BitConverter.ToString() em C#.

Converter String em Hex com o método String.Format() em C#

O método String.Format() formata uma string de acordo com o especificador de formato fornecido em C#. O especificador de formato {0:X2} especifica o formato hexadecimal. Podemos usar o especificador de formato {0:X2} dentro do método String.Format() para formatar uma string com valores decimais em uma string com valores hexadecimais. Podemos usar o LINQ para formatar facilmente cada caractere da string decimal em um 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);
    }
  }
}

Resultado:

30313233343536373839

No código acima, convertemos a variável de string decString com valores decimais para a variável de string hexString com valores hexadecimais com o método String.Format() e LINQ em 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

Artigo relacionado - Csharp String

Artigo relacionado - Csharp Hex