我有一个字符串如下
"abce\xC3".sub("a","A")
,当我执行这行代码时,会出现以下错误。ArgumentError: invalid byte sequence in UTF-8
from (irb):20:in `sub'
from (irb):20
from /home/vijay/.rvm/rubies/ruby-2.0.0-p598/bin/irb:12:in `<main>'
有人能帮我解决这个问题吗?
\xC3
是从哪里来的?在 UTF-8 中,它表示必须跟随第二个字节(就像ä
的\xA4
一样)。 - cremnosub
可以处理/跳过无效的字节序列。 - Stefanz = File.open("x"); z.read(5);
输出应该是ITZV\xC3\x83
,但实际上我得到的是ITZV\xC3
。@Stefan 你有关于为什么在 Ruby 中会发生这种情况的任何想法吗? - Vijay