Ruby-2.4.1的编码问题

Ruby-2.4.1的编码问题,ruby,encoding,Ruby,Encoding,我对不同版本的ruby有不同的以下行输出: puts "#{"%c"%[254]}" 来自ruby-2.4.1的输出: 来自ruby-1.8.7的输出:� 这看起来像是编码问题,因为Ruby-1.8.7中没有编码 有人能帮我得到与Ruby-2.4.1中的Ruby-1.8.7相同的结果吗 这个结果是理想的,因为Ruby-1.8.7在解码后给我“254”,而Ruby-2.4.1给我以下错误 `%“:整数()的值无效:”“þ”(ArgumentError)我对Ruby 1.8.7不太了解,因为我是从

我对不同版本的ruby有不同的以下行输出:

puts "#{"%c"%[254]}"
来自ruby-2.4.1的输出:

来自ruby-1.8.7的输出:�

这看起来像是编码问题,因为Ruby-1.8.7中没有编码

有人能帮我得到与
Ruby-2.4.1
中的
Ruby-1.8.7
相同的结果吗

这个结果是理想的,因为Ruby-1.8.7在解码后给我“254”,而Ruby-2.4.1给我以下错误


`%“:整数()的值无效:”“þ”(ArgumentError)

我对Ruby 1.8.7不太了解,因为我是从2.3版开始使用Ruby的,但这看起来很有希望:


但正如其他人所说,如果可能的话,最好升级您的Ruby版本。较旧版本的Ruby对Unicode的支持有限。

也就是说,您想为其保留
U+FFFD
codepoint吗?只需打印出来:�, 没有其他方法可以从
þ
获得它。Ruby 1.8对Unicode的支持有限。你真的需要它在一个Ruby版本中工作吗?这个版本在10年前发布,在4年多前就已经过时了。为什么你觉得1.8.7的结果更理想呢?@StefanPochmann,1.8.7的结果是理想的,因为它在解码后给了我“254”。请检查Ruby-2.4.1的以下问题:puts“#{”%d“%[þ]}”输出:-`%':Integer()的值无效:“þ”(ArgumentError)Ruby-2.4.1中的解码有问题,引发错误:%':Integer()的值无效:“þ”(ArgumentError)