ホームページ >バックエンド開発 >C++ >C#の16進ストリングをバイト配列に効率的に変換するにはどうすればよいですか?

C#の16進ストリングをバイト配列に効率的に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-02-01 12:46:09426ブラウズ

How to Efficiently Convert a Hex String to a Byte Array in C#?

c#16 -in -made文字列のバイト配列の変換

C#では、Linq(言語統合クエリ)と文字列操作の組み合わせを実現するために、16進列の文字列をバイト配列に変換することができます。

以下は例のコードです:

このメソッドは、16進数文字列を入力として受け入れ、次の手順を実行します。

<code class="language-csharp">public static byte[] HexStringToByteArray(string hex) {
    return Enumerable.Range(0, hex.Length)
                     .Where(x => x % 2 == 0)
                     .Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
                     .ToArray();
}</code>

を使用して、文字列内の文字のインデックスシーケンスを生成します。

  1. を使用してシーケンスをスクリーニングします。シーケンスには、インデックスをインデックスを作成する文字のみが含まれて、バイトがペアになっていることを確認します。 Enumerable.Range(0, hex.Length)
  2. を使用して各文字を選択してサブストリングに選択し、Where(x => x % 2 == 0)を使用してバイトに変換します。パラメーター16 16進数ベースからの変換を指定します。
  3. 使用したバイトシーケンスを配列に変換し、必要なbyteアレイを生成します。 hex.Substring(x, 2) Convert.ToByte(hex.Substring(x, 2), 16)
  4. この方法は、LINQの強力な機能を使用し、C#で効果的な分析と16進分析をバイト配列に変換する方法を実証します。

以上がC#の16進ストリングをバイト配列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。