podczas uaktualniania do Ruby 2.0, przypadek testowy rozpoczął się niepowodzeniem:binarne literały ciągów w Ruby 2.0
expected = "\xD1\x9B\x86"
assert_equal expected, actual
z następującym komunikatem:
<"ћ\x86"> expected but was
<"\xD1\x9B\x86">.
Zmienna actual
zawiera ciąg binarny uzyskanych od zewnętrzne wywołanie biblioteki.
Problem polega na tym, że domyślne kodowanie plików źródłowych (a tym samym literałów napisów): changed in Ruby 2.0 z US-ASCII na UTF-8.
W jaki sposób opcja # pack na głowę Cię kliknęła? ta paczka i rozpakowywanie jest dla mnie trudną częścią w rubinie :(jak przetrawić tę wskazówkę? –
@RubyLovely: Wiedziałem już, że pakiet/rozpakowanie istniało dla takich rzeczy, więc przejrzałem dokumentację i wypróbowałem to. zwraca binarny ciąg ma sens, ponieważ jest przeznaczony specjalnie do przetwarzania danych binarnych – robinst
Dzięki za odpowiedź z powrotem –