Ich habe eine Zeichenfolge a = "hello"
. Ich kann es konvertieren zu stützen 2 oder Base 16 unpack
mit:Pack/Unpack und Base64 in Ruby
a.unpack('B*')
# => ["0110100001100101011011000110110001101111"]
a.unpack('H*')
# => ["68656c6c6f"]
zu konvertieren 64 zu stützen, habe ich versucht pack
:
[a].pack('m0')
# => "aGVsbG8="
aber das Ergebnis ist nicht das, was ich erwartet hatte. Ich dachte, dass, wenn ich eine binäre Darstellung oder eine Zeichenfolge habe, um es in geteilte Teile darzustellen, ich unpack
verwenden sollte. Aber es stellte sich nicht heraus. Bitte hilf mir, es zu verstehen.
So sieht base64 aus; Es verwendet 6-Bit-Zeichen, um einen 8-Bit-Stream zu codieren (im Prinzip 4 Zeichen für jeweils 3 Bytes). Was hast du erwartet? – Joe
Sawa hat meine Frage falsch bearbeitet. Meine Erwartung war nicht über das Ergebnis, Erwartung war darüber, warum wir pack verwenden, um zu base64 zu konvertieren und entpacken für base16 und base2 – airled