0

Ruby 新手,想知道如何获取以下内容以仅打印学位符号...

require 'htmlentities'
coder = HTMLEntities.new
puts coder.decode('°')

当前命令行 (Windows) 输出为:°

谢谢!

4

1 回答 1

1

它看起来像HTMLEntities.decode以 UTF-8 格式返回一个字符串,而您的控制台因该编码而窒息。在将字符串传递给puts.

如果您使用的是 Ruby 1.9.2,那么代码看起来相当简单(基于字符串编码文档):

puts coder.decode('&deg;').encode(Encoding.find('<Whatever-Windows-Uses>'))

在找到控制台可以理解的内容之前,您可能必须尝试几种不同的编码。

如果您使用的是旧版本的 Ruby,那么重新编码似乎可以通过Iconv进行(请参阅这个问题- 我怀疑您只是在朝相反的方向前进)。

希望这可以帮助!

于 2011-04-18T21:37:01.530 回答