タグ

rubyとencodingに関するreponのブックマーク (3)

  • Rubyのエンコーディング - tmtms のメモ

    Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ

    Rubyのエンコーディング - tmtms のメモ
    repon
    repon 2014/01/06
    “File.open('out.txt', 'w:cp932')”
  • Ruby CSV with CP932 | Doors of Codes

  • Ruby 1.9.1のm17nについてメモ - monthly gimite

    2009/2/8追記: 今はもう↓の公式ドキュメントやid:macksさんのドキュメントなどいろんな情報が出ているので、このメモの存在意義は微妙ですが、一応1.9.1に合わせて修正しておきました。 多言語化 class String class IO この辺のドキュメントが見つからず(まだない?)、いろいろ試行錯誤して分かったことをメモ。 まず、Ruby 1.9では文字列オブジェクトがそれぞれ文字コードを持っている。 p "a".encoding #=> #<Encoding:US-ASCII> ファイルの先頭に # -*- encoding: UTF-8 -*- と書いておくと、文字列リテラルのencodingがUTF-8になる。 p "あ".encoding #=> #<Encoding:UTF-8> p "a".encoding #=> #<Encoding:UTF-8> これを書か

    Ruby 1.9.1のm17nについてメモ - monthly gimite
  • 1