ヘッダー
Visual Basic サンプル集
 

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

2022/10/30

→ C# のサンプルに切り替える → Python のサンプルに切り替える

 

数値 1234567 を バイト型の配列 {&H87,&Hd6,&H12,&H00} にする。(リトルエンディアン)

VB2019対応 Visual Studio 2022

Dim number As Integer = 1234567 '16進数表記では &H0012d687

' &H87, &Hd6, &H12, &H00 の4要素からなる配列になります。
Dim bins() As Byte = BitConverter.GetBytes(number)

'87D61200 と出力されます。
Debug.WriteLine(Convert.ToHexString(bins))

Debug.WriteLineが表示される場所

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

 

 

数値 1234567 を バイト型の配列 {&H00,&H12,&Hd6,&H87} にする。(ビッグエンディアン)

VB2019対応 Visual Studio 2022

Dim number As Integer = 1234567 '16進数表記では &H0012d687

' &H00, &H12, &Hd6, &H87 の4要素からなる配列になります。
Dim bins() As Byte = BitConverter.GetBytes(number).Reverse().ToArray()

'0012D687 と出力されます。
Debug.WriteLine(Convert.ToHexString(bins))

Debug.WriteLineが表示される場所

 

 

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

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

VB2019対応 Visual Studio 2022

Dim number As Integer = 123 '16進数表記では &H7b

' &H7B, &H00 の2要素からなる配列になります。
Dim bins() As Byte = BitConverter.GetBytes(number).Take(2).ToArray()

'7B00 と出力されます。
Debug.WriteLine(Convert.ToHexString(bins))

Debug.WriteLineが表示される場所

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