Vimスクリプト(blob)

テキストエディタ(Vimやその他)

Blobを使います。いわゆるBinary Large OBjectですね。

まずは変数の初期化から。
16進2Byteのデータ0x31と0x32を、変数dataに格納してみます。

:let data = 0z3132

echoで変数を確認してみます。

:echo data

そのままですね。変数の内容をそのまま参照しても、代入したときと同じように表示されます。一見、有用性が見られませんが、Blobはその独特なアクセス方法に意味があります。
Blobのデータのアクセスは、Byte単位で、配列と同じように[]を使ってアクセスできます。

:echo data[0] . "と" . data[1]

49、50という数字は、それぞれ0x31、0x32の10進数です。
このようにBlobを使えば、バイナリデータを意図も簡単に作れてしまいます。
さて、Blobの初期化ですが、Byte単位の16進数である必要があるので、偶数単位で記述します。
試しに奇数の初期化をしてみましょう。

:let data = 0z12345

エラーになりました。

つづく

コメント

タイトルとURLをコピーしました