Infinite Debian - Platform for mass-producing system every secondTaisuke Yamada
Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ
Windows 環境でコマンドプロンプトを使って日本語を表示させようとして躓いたのでメモ。ソースコードを UTF-8 で書きたい人を対象にしています。 環境 Windows7 コマンドプロンプトデフォルトのままでコードページ 932 Ruby 1.9.2-p136 まとめ 先にまとめを書いておきます。 ソースコードを UTF-8 (BOM 無し) で書く。 ソースコードのエンコーディングを正しく判断できるように -*- encoding: utf-8 -*- をソースコードの先頭に書く ruby のオプションで -U を使うか、-Eexternal_encoding:internal_encoding を使う File.open する時は、デフォルトの外部エンコーディングで読みに行くので、オプションで適切なエンコーディングを指定する 例: File.open("test.txt", "r:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く