Quando l'aggiornamento a Ruby 2.0, un banco di prova hanno cominciato a fallire:binari stringhe in Ruby 2.0
expected = "\xD1\x9B\x86"
assert_equal expected, actual
con il seguente messaggio:
<"ћ\x86"> expected but was
<"\xD1\x9B\x86">.
La variabile actual
contiene una stringa binaria ottenuta da una chiamata alla libreria esterna.
Il problema è che la codifica predefinita dei file di origine (e quindi delle stringhe letterali) changed in Ruby 2.0 da US-ASCII a UTF-8.
Come l'opzione # pacchetto array ha fatto clic sulla tua testa? questo pack & unpack è la parte difficile per me nel ruby :(come digerire che qualsiasi indizio? –
@RubyLovely: sapevo già che il pack/unpack esisteva per cose come questa, quindi ho cercato la documentazione e l'ho provata. restituisce una stringa binaria ha senso, in quanto è progettato specificamente per elaborare dati binari – robinst
Grazie per la risposta indietro! –