是否可以在字符串上获得旧的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