いろいろ備忘録日記

主に .NET と Python絡みのメモを公開しています。

.NET クラスライブラリ探訪-019 (System.BitConverter)(バイト列へ変換,バイト列からの変換,16進数への変換)


BitConverterクラスは、以下の機能を持ちます。
通信を行うアプリなどを作成している際にたまにつかったりします。
後、たまにデータのダンプを吐かせたりする時に便利です。


  • バイト列から16進数文字列への変換
    • ToStringメソッド
  • 数値からバイト列への変換
    • GetBytesメソッド
  • バイト列から数値への変換
    • ToInt32など


以下、サンプルです。
@ITの.NET Tipsにあったものに自分のコメントつけただけですが・・・w)

#region BitConverterSamples-01
    public class BitConverterSamples01 : IExecutable{

        public void Execute(){
            //
            // バイト列から16進文字列への変換.
            //
            byte[ ] bytes = new byte[ ]{1, 2, 10, 15, (byte) 'a', (byte) 'b', (byte) 'q'};
            Console.WriteLine(BitConverter.ToString(bytes));

            //
            // 数値からバイト列への変換.
            // (一旦数値をバイト列に変換してから、16進に変換して表示)
            //
            int i = 100;
            Console.WriteLine(BitConverter.ToString(BitConverter.GetBytes(i)));

            int i2 = 0x221234;
            Console.WriteLine(BitConverter.ToString(BitConverter.GetBytes(i2)));

            //
            // バイト列から数値への変換.
            //
            bytes = new byte[]{1};
            Console.WriteLine(BitConverter.ToBoolean(bytes, 0));

            bytes = new byte[]{1, 0, 0, 0};
            Console.WriteLine(BitConverter.ToInt32(bytes, 0));

            bytes = BitConverter.GetBytes((byte) 'a');
            Console.WriteLine(BitConverter.ToChar(bytes, 0));
        }
    }
#endregion

================================
過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。