次の16進値をvimを使用して2進表現に変換する簡単な方法はありますか?
00ab abcd ff01 1234
のように見えるはずです。
0000000010101011 1010101111001101 1111111100000001 0001001000110100
次の16進値をvimを使用して2進表現に変換する簡単な方法はありますか?
00ab abcd ff01 1234
のように見えるはずです。
0000000010101011 1010101111001101 1111111100000001 0001001000110100
これらのコマンドの両方を実行すると、行が 16 進数から 2 進数に変換されます。最初の行は、バイナリ表現を返す 16 桁の 16 進数のルックアップ テーブルを作成するだけです。2 行目では、すべての 16 進数を検索し、ルックアップ テーブルから返された値に置き換えます。
:let t = {'0':'0000', '1':'0001', '2':'0010', '3':'0011', '4':'0100', '5':'0101', '6':'0110', '7':'0111', '8':'1000', '9':'1001', 'a':'1010', 'b':'1011', 'c':'1100', 'd':'1101', 'e':'1110', 'f':'1111'}
:s/\x/\=t[tolower(submatch(0))]/g