2016-08-20 4 views
1

Jetzt muss ich das hexadezimale codiert in einem String in ein Byte hexadezimal konvertieren.Javascript: Konvertieren einer hexadezimal codierten Zeichenfolge in ein hexadezimales Byte

var str = "5e" 

var b = // Should be 0x5e then. 

if str = "6b", then b = 0x6b and so on. 

Gibt es eine Funktion in JavaScript, wie in Java

Byte.parseByte(str, 16)

Vielen Dank im Voraus

+1

'b = parseInt ('5e', 16)' –

+0

können Sie Int8Array verwenden (signed) oder Uint8Array (unsigned) Typen mit der nativen Funktion parseInt (hexString, 16) – rm4

+1

Was ist ein "hexadezimales Byte"? –

Antwort

1

Die gewünschte Funktion ist parseInt

parseInt("6b", 16) // returns 107 

Das erste Argument parseInt ist eine Zeichenfolge Darstellung der Zahl und das zweite Argument ist die Basis. Verwenden Sie 10 für dezimal und 16 für hexadezimal.

+0

Nein, es gibt den Wert 107 – user3898336

+1

0x6b ist nur eine andere Möglichkeit zum Schreiben 107 – hugomg

+0

Verwenden Sie Int8Array oder Uint8Array, um als Byte zu speichern. – rm4

1

Von Ihrem Kommentar, wenn Sie "eine Ausgabe von 0x6b" von der Zeichenfolge "6b" erwarten, dann nur "0x" an Ihre Zeichenfolge vor, und weiter zu manipulieren, wie Sie brauchen. Es gibt keinen Javascript-Typ, der ein hexadezimales Format in einem lesbaren Format ausgibt, das mit einem anderen Präfix als '0x' als einem String versehen ist.

0

Ich löste es durch die Verwendung nur

new Buffer("32476832", 'hex') 

das ist mein Problem gelöst und gab mir den gewünschten Puffer

<Buffer 32 47 68 32> 
Verwandte Themen