[#44431] コンストラクタの引数について&インスタンス変数の持ち方について — Akira Hayakawa <ruby@...>
度々オブジェクト指向についての質問ですいません。
17 messages
2008/01/04
[#44433] Re: コンストラクタの引数について&インスタンス変数の持ち方について
— Yukihiro Matsumoto <matz@...>
2008/01/04
まつもと ゆきひろです
[#44453] RSS取得時<enclosure>タグでエラー? — "garyo hosu" <garyohosu@...>
garyoです。いつもお世話になっております。
5 messages
2008/01/08
[#44463] [ANN] Rails勉強会@東京 第26回のお知らせ — "MOROHASHI Kyosuke" <moronatural@...>
各位
1 message
2008/01/11
[#44464] [ANN] rcairo 1.5.1 — Kouhei Sutou <kou@...>
須藤です。
5 messages
2008/01/11
[#44469] pdf 作成 ライブラリ — "Luiz Aoki" <luizruby@...>
はじめまして、青木ルイスと申します、
14 messages
2008/01/12
[#44479] ファイル出力時のprintについて
— m-hatake@...
2008/01/16
畠山と申します。
[#44481] Re: ファイル出力時のprintについて
— KIMURA Koichi <kimura.koichi@...>
2008/01/16
木村です。
[#44483] format %g の丸めについて — 山崎雄介 <y-yamasaki@...>
山崎(ゆ)です。
14 messages
2008/01/16
[#44517] www.ruby-lang.org/ja/man/ を静的HTMLに変更 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
6 messages
2008/01/20
[#44536] カタカナ→ひらがな変換 — "Hideo Konami" <konami@...>
小波です。
8 messages
2008/01/25
[ruby-list:44436] Text Encoding in Ruby 1.9.0
From:
"Hideo Konami" <konami@...>
Date:
2008-01-05 02:33:04 UTC
List:
ruby-list #44436
小波です。
Ruby1.9.0 の仕様をソース(の中のコメント)を見ながら調べている
のですが,文字のエンコーディングで疑問なところが出てきました。
後の方に疑問と質問をつけました。よろしくお願いします。
次のソースとテキストファイルを用意します。
check_encoding.rb (UTF-8 で編集)
-------------------------------------------------------------
# This script is written in UTF-8
str = "これは日本語です。"
puts str
puts str.encoding
line = ""
File.open("test_euc.txt") do |f| # Text file is written in EUC-JP
line = f.gets.chomp
end
puts line
puts line.encoding
p str == line
line.force_encoding("ASCII-8BIT")
puts line
p str == line
-------------------------------------------------------------
test_euc.txt (EUC-JP で書かれたテキストファイル)
-------------------------------------------------------------
これは日本語です。
-------------------------------------------------------------
これを実行すると,
ruby check_encoding.rb
-------------------------------------------------------------
これは日本語です。
ASCII-8BIT
これは日本語です。
UTF-8
false
これは日本語です。
true
-------------------------------------------------------------
ruby -Ku check_encoding.rb
-------------------------------------------------------------
これは日本語です。
UTF-8
これは日本語です。
UTF-8
true
これは日本語です。
false
-------------------------------------------------------------
これに関していくつかの疑問と質問です。
1. ruby のオプションの -Ku があるかないかで,ソースの中の
文字列リテラルのエンコーディングが UTF-8 になるか
ASCII-8BIT になるのかが決定されるという理解で正しいの
でしょうか。
2. force_encoding は破壊的にエンコーディングを変更する仕様
になっているようですが,それはむしろ force_encoding! の
ほうがよかったのはないでしょうか。 "force" に "!" がすで
に入っている?非破壊的なメソッドもあるべきだと思うのです
が。
3. EUC-JP のテキストを読み込んだはずなのに,そのテキストが
encoding が UTF-8 を返すのはへんだと思うのですが,どうい
う考えでそうなるのでしょうか。SJIS, JIS のテキストでもやは
り同様の動作になっています。
4. transcode.c には str.encode(encoding), str.encode!(encoding)
というのがあり,これらは force_encoding(encoding) とだいたい同義
だと思ったのですが,違うようです。もう少し調べてみようとは思い
ますが,どう使うべきものか教えていただけると幸いです。