Wie konvertiere ich Hex in Binär im Textmodus?

7

Ich versuche, Hex-Werte in Binärwerte umzuwandeln. Zum Beispiel habe ich eine Textdatei mit:

0.0 010111010  B4
0.1 001001011  A3
...

Und ich versuche , konvertieren B4zu 10110100, und A3auch.

Aber ich kann keine Methode finden. Weiß jemand, wie man das macht?

bural
quelle

Antworten:

8

Die Hilfedatei :h eval-examplesenthält ein Beispiel für eine number2binaryFunktion:

" The function Nr2Bin() returns the binary string representation of a number.
func Nr2Bin(nr)
  let n = a:nr
  let r = ""
  while n
    let r = '01'[n % 2] . r
    let n = n / 2
  endwhile
  return r
endfunc

Kopieren Sie dieses Beispiel in Ihre .vimrc und nach dem Neustart Ihrer vim können Sie dies tun :echo Nr2Bin(0xB4)und es wird 10110100 ausgegeben.

Wenn Sie schreiben (z. B. im Einfügemodus), können Sie dann drücken <C-R>=Nr2Bin(0xA3)und das Ergebnis wird in Ihren Puffer eingefügt.

Christian Brabandt
quelle