C# で文字列を 16 進数に変換する
このチュートリアルでは、C# で文字列を 16 進数にする方法について説明します。
C# の BitConverter.ToString()
メソッドを使用して文字列を 16 進数に変換する
基数 10 の数値を含む文字列があり、それを基数 16 の数値を含む文字列に変換する必要がある場合は、BitConverter.ToString()
メソッドを使用できます。C# の BitConverter.ToString(x)
メソッドは、バイト配列 x
の各要素を 16 進値に変換します。BitConverter.ToString()
メソッドを使用するには、Encoding.Default.GetBytes()
メソッドを使用して文字列変数をバイトの配列に変換する必要があります。このメソッドは、文字列変数を C# のバイト配列に変換します。BitConverter.ToString()
メソッドは、各値が -
で区切られた 16 進文字列を返します。String.Replace()
メソッドを使用して、-
セパレーターを削除できます。
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);
}
}
}
出力:
30313233343536373839
上記のコードでは、C# の BitConverter.ToString()
メソッドを使用して、10 進値の文字列 decString
を 16 進値の文字列 hexString
に変換しました。
C# の String.Format()
メソッドを使用して文字列を 16 進数に変換する
String.Format()
メソッドは、C# で指定された形式指定子に従って文字列をフォーマットします。{0:X2}
フォーマット指定子は、16 進フォーマットを指定します。String.Format()
メソッド内で {0:X2}
フォーマット指定子を使用して、10 進値の文字列を 16 進値の文字列にフォーマットできます。LINQ を使用すると、10 進文字列の各文字を 16 進形式に簡単にフォーマットできます。
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);
}
}
}
出力:
30313233343536373839
上記のコードでは、10 進値の文字列変数 decString
を、String.Format()
メソッドと C# の LINQ を使用して 16 進値の文字列変数 hexString
に変換しました。
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関連記事 - Csharp String
- C# 文字列を列挙型に変換
- C# 整数を文字列に変換
- C# の switch 文で文字列を使用する
- C# で文字列をブール値に変換する方法
- C# で文字列をバイト配列に変換する方法
- C# で文字列をフロートに変換する方法