各文字符号化方式のバイト列の確認
自分の勉強用に作ってみました。
# -*- coding: windows-31j -*- w = (ARGV[0] || "あ").encode(ARGV[1] || "windows-31j") puts "バイト数: #{w.bytesize}" puts "バイト列:#{[].tap{|ary| w.bytes{|b| ary << '0x' + b.to_s(16)}}.join(", ")}"
実行及び、実行結果はこんな感じ。
バイト数: 3
バイト列:0xe3, 0x81, 0x84
utf-16beとutf-16leでは確かにバイトオーダーが逆になっていることとかが確認できました♪
追記(2009/9/3)
バイト列を求めるプログラムはもっとすっきり書けた♪
puts "バイト列:#{w.bytes.map{|b| '0x' + b.to_s(16)}.join(", ")}"