Visual Basic サンプル集 |
Visual Basic 中学校 > Visual Basic サンプル集 > Visual Basic サンプル集目次 >
数値をバイト型の配列にする
2022/10/30
→ C# のサンプルに切り替える → Python のサンプルに切り替える
目次
数値 1234567 を バイト型の配列 {&H87,&Hd6,&H12,&H00} にする。(リトルエンディアン)
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))
メモ:既定ではこの例のように逆順の並び方の配列(リトルエンディアン)になります。慣れていないと気持ち悪いかもしれませんが、特に理由がなければこの方式を採用してください。
数値 1234567 を バイト型の配列 {&H00,&H12,&Hd6,&H87} にする。(ビッグエンディアン)
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))
2バイトの配列に変換する。
この例は Integer型の変数を要素数2のバイト型の配列に変換します。 Integer型はサイズが4バイトなのでバイト型の配列にすると既定で要素数4の配列になります。
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))
メモ:2バイトより大きい数値(たとえば、65535より大きい数字)は正常に変換できません。