是否可以在字符串上獲得舊的Ruby 1.8行爲,並將其作爲字節流而不是編碼字符串處理?使用Ruby 1.9字符串作爲字節流而不是編碼字符串
特別是,我試圖得到一個Unicode編碼的字符串相結合的幾個字節,所以:
\xFF\x00\x01#{Unicode encoded string}
但是,如果我嘗試這樣做,它也試圖編碼\ XFF \ x00 \ x01哪個不行。
代碼
我試圖在IRB做:
"#{[4278190080].pack("V").force_encoding("BINARY")}\xFF".force_encoding("BINARY")
這是給我:
Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8
from (irb):41
from /usr/bin/irb:12:in `<main>'
我也試圖與ASCII-8BIT,沒有運氣。
這似乎並不很合作。我用我試圖測試的實際代碼修改了帖子。 – user1510597 2012-07-10 20:38:31
請發佈完整的堆棧跟蹤。我懷疑你的錯誤來自於Zlib :: crc32,但我不能說。如果它來自Zlib,那麼你應該問一個關於如何修復Zlib的新問題。 – 2012-07-10 20:45:44
您的編輯完全改變了問題的性質。我認爲這是一個關於添加兩個字符串的問題,現在事實證明你正在調用一些(第三方?)庫。 – 2012-07-10 20:47:01