2017-01-07 3 views
0

Raywenderlich gab ein Beispiel einer Push-Token:MySQL: Get Bytes Größe von hex

'740f4707 bebcf74f 9b7c25d4 8e335894 5f6aa01d a5ddb387 
462c7eaf 61bb78ad' 

Wenn ich richtig, Push-Token sind von Bytes Größe 32.

Ich mag die Byte-Größe erhalten davon.

Hier ist MySQL-Anweisung:

SELECT LENGTH(CONV('740f4707 bebcf74f 9b7c25d4 8e335894 5f6aa01d a5ddb387 
462c7eaf 61bb78ad', 16, 2)); 

Wenn ich Eingang dieses, es mir mit einer Größe von 31 gibt, gebe ich erwartete 32. Irgendwelche Ideen?

Antwort

0

CONV() konvertiert eine Zahl in eine Zeichenfolge Darstellung dieser Nummer. Führende Nullen werden entfernt, sodass LENGTH() nur die Symbole in der Zeichenfolge zählt. Sie könnten Ihre Nummer mit einer beliebigen Nummer voranstellen, von der Sie wissen, dass das High-Bit gesetzt ist, und die Bitlänge der zusätzlichen Werte vom Ergebnis abziehen. d.h.

SELECT LENGTH (CONV ('FF740f4707 bebcf74f 9b7c25d4 8e335894 5f6aa01d a5ddb387 462c7eaf 61bb78ad', 16, 2)) - 8;

gibt Ihnen die 32 Bits, die Sie erwarten.