C# サンプル集 |
Visual Basic 中学校 > C# サンプル集 > 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));
メモ:既定ではこの例のように逆順の並び方の配列(リトルエンディアン)になります。慣れていないと気持ち悪いかもしれませんが、特に理由がなければこの方式を採用してください。
数値 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));
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));
メモ:2バイトより大きい数値(たとえば、65535より大きい数字)は正常に変換できません。