Converti stringa in esadecimale in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Converti stringa in esadecimale con il metodo BitConverter.ToString() in C#
  2. Converti una stringa in esadecimale con il metodo String.Format() in C#
Converti stringa in esadecimale in C#

Questo tutorial discuterà i metodi per una stringa in esadecimale in C#.

Converti stringa in esadecimale con il metodo BitConverter.ToString() in C#

Se abbiamo una stringa che contiene valori numerici in base 10 e dobbiamo convertirla in una stringa che contiene valori numerici in base 16, possiamo usare il metodo BitConverter.ToString() per questo. Il metodo BitConverter.ToString(x) in C# converte ogni elemento nell’array di byte x in un valore esadecimale. Per utilizzare il metodo BitConverter.ToString(), dobbiamo convertire la nostra variabile stringa in un array di byte con il metodo Encoding.Default.GetBytes(). Questo metodo converte una variabile di stringa in una matrice di byte in C#. Il metodo BitConverter.ToString() restituisce una stringa esadecimale in cui ogni valore è separato da -. Possiamo usare il metodo String.Replace() per rimuovere il separatore -.

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);
    }
  }
}

Produzione:

30313233343536373839

Nel codice sopra, abbiamo convertito la stringa decString con valori decimali nella stringa hexString con valori esadecimali con il metodo BitConverter.ToString() in C#.

Converti una stringa in esadecimale con il metodo String.Format() in C#

Il metodo String.Format() formatta una stringa in base all’identificatore di formato specificato in C#. L’identificatore di formato {0:X2} specifica il formato esadecimale. Possiamo usare l’identificatore di formato {0:X2} all’interno del metodo String.Format() per formattare una stringa con valori decimali in una stringa con valori esadecimali. Possiamo usare LINQ per formattare facilmente ogni carattere della stringa decimale in un formato esadecimale.

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);
    }
  }
}

Produzione:

30313233343536373839

Nel codice precedente, abbiamo convertito la variabile stringa decString con valori decimali nella variabile stringa hexString con valori esadecimali con il metodo String.Format() e LINQ in 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

Articolo correlato - Csharp String

Articolo correlato - Csharp Hex