我有以下字符串,我想在\xA7
字符上拆分。
\xFF$New Server\xA77\xA750
问题在于我无法弄清楚如何告诉Ruby在\xA7
标记上正确分割它。
这是我得到的错误:
>> "\xFF$New Server\xA77\xA750".split("\xA7")
ArgumentError: invalid byte sequence in UTF-8
from (irb):26:in `split'
from (irb):26
from /Users/wedtm/.rbenv/versions/1.9.2-p290/bin/irb:12:in `<main>'
答案 0 :(得分:2)
当强制编码到BINARY
时,您可以解决该问题,但不确定它是否是正确的解决方案或打破其他事情......
input = "\xFF$New Server\xA77\xA750".force_encoding('BINARY')
split = "\xA7".force_encoding('BINARY')
input.split(split) # => ["\xFF$New Server", "7", "50"]
答案 1 :(得分:0)
问题是字符串的utf-8字节序列无效。如果您不关心这一点,请尝试将其放在文档的顶部:
# coding: ascii