0

Ruby が初めてで、次のようにして度記号だけを出力する方法を知りたいと思っています...

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

現在、コマンド ライン (Windows) の出力は次のとおりです。

ありがとう!

4

1 に答える 1

1

HTMLEntities.decodeUTF-8 で文字列を返すように見えますが、コンソールはそのエンコーディングで窒息しています。に渡す前に、文字列を再エンコードする必要がありますputs

Ruby 1.9.2 を使用している場合、コードはかなり単純に見えます ( String and Encodingのドキュメントに基づく)。

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

コンソールが理解できるものを見つける前に、いくつかの異なるエンコーディングを試す必要があるかもしれません.

古いバージョンの Ruby を使用している場合は、Iconv を使用して再エンコードできるようです(この質問を参照してください。逆方向に進んでいるだけだと思います)。

お役に立てれば!

于 2011-04-18T21:37:01.530 に答える