拡張 ASCII 文字をコンソールに出力するにはどうすればよいですか。たとえば、次を使用する場合
puts 57.chr
コンソールに「9」と表示されます。私が使うとしたら
puts 219.chr
「?」のみ表示されます。これは、128 から 254 までのすべての拡張 ASCII コードに対して行われます。「?」の代わりに適切な文字を表示する方法はありますか。
拡張 ASCII 文字をコンソールに出力するにはどうすればよいですか。たとえば、次を使用する場合
puts 57.chr
コンソールに「9」と表示されます。私が使うとしたら
puts 219.chr
「?」のみ表示されます。これは、128 から 254 までのすべての拡張 ASCII コードに対して行われます。「?」の代わりに適切な文字を表示する方法はありますか。
描画文字を使用して、コンソール プログラムでグラフィックを作成しようとしています。
最近は UTF-8 を使うべきです。
Box Drawing Unicode ブロックの文字を使用した例を次に示します。
puts "╔═══════╗\n║ Hello ║\n╚═══════╝"
出力:
╔═══════╗
║ Hello ║
╚═══════╝
たとえば、Unicode 文字 U+2588 (完全なブロック) を使用する場合、それを Ruby のコンソールに出力するにはどうすればよいでしょうか。
以下を使用できます。
puts "\u2588"
また:
puts 0x2588.chr('UTF-8')
または単に:
puts '█'
エンコーディングを指定する必要がある場合があります。たとえば、次のようになります。
219.chr(Encoding::UTF_8)
文字列のエンコーディングを指定してから、に変換する必要がありますUTF-8
。たとえば、Windows-1251エンコーディングを使用する場合:
219.chr.force_encoding('windows-1251').encode('utf-8')
# => "Ы"
同様にISO_8859_1
:
219.chr.force_encoding("iso-8859-1").encode('utf-8')
# => "Û"