我有这样的字符串 "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>'
谁能帮我解决这个问题。
最佳答案
Arie 已经回答了这个错误是因为无效的字节序列 \xC3
如果你使用的是Ruby 2.1+,你也可以使用String#scrub
用给定的替换字符替换无效字节。这里:
a = "abce\xC3"
# => "abce\xC3"
a.scrub
# => "abce�"
a.scrub.sub("a","A")
# => "Abce�"
关于ruby - UTF-8 Ruby 中的无效字节序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31272763/