相关疑难解决方法(0)

在ruby 1.9中是否有一种方法可以从字符串中删除无效的字节序列?

假设你有一个像"€foo\xA0"UTF-8编码的字符串,有没有办法从这个字符串中删除无效的字节序列?(所以你得到"€foo")

在ruby-1.8中你可以使用,Iconv.iconv('UTF-8//IGNORE', 'UTF-8', "€foo\xA0")但现在已经弃用了."€foo\xA0".encode('UTF-8')什么都不做,因为它已经是UTF-8了.我试过了:

"€foo\xA0".force_encoding('BINARY').encode('UTF-8', :undef => :replace, :replace => '')
Run Code Online (Sandbox Code Playgroud)

产量

"foo"

但这也失去了有效的多字节字符€

ruby encoding utf character-encoding ruby-1.9

26
推荐指数
2
解决办法
1万
查看次数

标签 统计

character-encoding ×1

encoding ×1

ruby ×1

ruby-1.9 ×1

utf ×1