ヘッダー
C# サンプル集
 

数値をバイト型の配列にする

2022/10/30

→ Visual Basic のサンプルに切り替える → Python のサンプルに切り替える

 

数値 1234567 を バイト型の配列 {0x87,0xd6,0x12,0x00} にする。(リトルエンディアン)

int number = 1234567; //16進数表記では 0x0012d687

// 0x87, 0xd6, 0x12, 0x00 の4要素からなる配列になります。
byte[] bins = BitConverter.GetBytes(number);

//87D61200 と出力されます。
System.Diagnostics.Debug.WriteLine(Convert.ToHexString(bins));

Debug.WriteLineが表示される場所

メモ:既定ではこの例のように逆順の並び方の配列(リトルエンディアン)になります。慣れていないと気持ち悪いかもしれませんが、特に理由がなければこの方式を採用してください。

 

 

数値 1234567 を バイト型の配列 {0x00,0x12,0xd6,0x87} にする。(ビッグエンディアン)

int number = 1234567; //16進数表記では 0x0012d687

// 0x00, 0x12, 0xd6, 0x87 の4要素からなる配列になります。
byte[] bins = BitConverter.GetBytes(number).Reverse().ToArray();


//0012D687 と出力されます。
System.Diagnostics.Debug.WriteLine(Convert.ToHexString(bins));

Debug.WriteLineが表示される場所

 

2バイトの配列に変換する。

この例は int型の変数を要素数2のバイト型の配列に変換します。 int型はサイズが4バイトなのでバイト型の配列にすると既定で要素数4の配列になります。

int number = 123; //16進数表記では 0x7b

// 0x7B, 0x00 の2要素からなる配列になります。
byte[] bins = BitConverter.GetBytes(number)[..2];

//7B00 と出力されます。
System.Diagnostics.Debug.WriteLine(Convert.ToHexString(bins));

Debug.WriteLineが表示される場所

メモ:2バイトより大きい数値(たとえば、65535より大きい数字)は正常に変換できません。