Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Byte配列で文字コードを取得する

Byte配列で文字コードを取得する

「vba バイト配列を2バイト毎に処理」
という検索キーワードをきっかけにして、Byte配列を2バイトごとに処理するマクロをご紹介しました。

もちろんこの処理で、文字ごとの文字コードを取得することもできます。

[スポンサードリンク]

Byte配列から文字コードを取得するサンプルマクロ

以下のSubプロシージャを実行すると、定数・ORGに指定された「イロハ」という文字列の、各文字と文字コード番号が順番にメッセージボックスに表示されます。

Sub Byte配列で文字コードを確認する()
 Const ORG = "イロハ"

 Dim arr_org() As Byte
 Dim arr_ret(0 To 1) As Byte
 Dim ret As String
 Dim i As Long

 arr_org = ORG
 For i = 0 To (UBound(arr_org) - 1) Step 2
  arr_ret(0) = arr_org(i)
  arr_ret(1) = arr_org(i + 1)
  ret = arr_ret
  MsgBox _
    ret & vbCrLf & _
    Hex(arr_ret(1)) & Hex(arr_ret(0))
 Next i
End Sub

サンプルマクロの注意点

構造は、既にご紹介しているByte配列を2バイトごとに処理するマクロと同じです。

注意点は、2バイトで表される1文字のバイトオーダー・バイトの並び順がリトルエンディアンになっているため、文字コードを表示する部分で、
  MsgBox _
    ret & vbCrLf & _
    Hex(arr_ret(1) ) & Hex(arr_ret(0) )
のように、並べ変えている点です。

関連語句
VBA, Visual Basic for Applications, Unicode

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Byte配列で文字コードを取得する

「配列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.