[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 23:11 / Filesize : 205 KB / Number-of Response : 981
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Rubyについて Part 34



1 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 03:34:28 ]
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

Ruby Home Page
www.ruby-lang.org/ja/

= 前スレ
Rubyについて Part 33
pc11.2ch.net/test/read.cgi/tech/1223709050/

過去スレ・関連スレは >>2-

541 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 06:02:24 ]
勝手に変換されて壊れるよりまし

542 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 07:00:38 ]
>>539
Ubuntu8.04 でやってみた。
ruby1.9は余り使わないんで問題ないが、1.9と、1.91では挙動が違うようだ。

% ruby1.9 -v
ruby 1.9.0 (2007-12-25 revision 14709) [i486-linux]
% ruby1.9 0227.rb
#<Encoding:ASCII-8BIT>
#<Encoding:ASCII-8BIT>
#<Encoding:ASCII-8BIT>

% ruby1.9.1 -v
ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]
% ruby1.9.1 0227.rb
#<Encoding:ASCII-8BIT>
#<Encoding:ISO-8859-1>
#<Encoding:ASCII-8BIT>


543 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 10:59:56 ]
そういえば、最近ちょっとハマったんだけど
ruby 1.9.1 では初期値空の StringIO にも外部エンコーディングが適用されるんだな

Encoding.default_external = Encoding.find('utf-8')
io = StringIO.new('ascii-string')
p io.read.encoding # => <Encoding:US-ASCII>
io = StringIO.new
io << 'ascii-string'
p io.string.encoding # => <Encoding:UTF-8>

文字列バッファ的な使い方してると落とし穴になる

544 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 11:04:01 ]
大体UTF-8で使ってればその辺はよしなに変換してくれるはずだろ?
CSIはUCSを包含してるはずだからなんとかできるはず

545 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:39:46 ]
1.9.xが微妙すぎてみんなPythonに流れ始めちゃってるな。

546 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:40:17 ]
ISO-8859 系と ASCII と UTF-8 しかない世界のガイジンさんが残念なコードを書くというのは一応共通認識だと思うが、
Shift_JIS と EUC-JP と UTF-8 あたりで互換が効くと思って NKF.guess ブチ込む日本人さんも同じくらいがっかりだと思った

知らないもんは仕方ないってことだあね、勉強勉強



っていうか Iconv はもうちょっと引数のエンコード文字列の制限を緩くしてくれてもいいと思うんだぜ

547 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 13:44:51 ]
>>539
ルビ1.9.1はどんだけ危険ナンダヨwww
charsetぐらい読めばいいのにwwwww

548 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 14:17:01 ]
>>547
open-uri は Content-Type ヘッダの charset トークンを内部で読んで force_encoding の引数に設定してくれる模様

require 'open-uri'
uris = %w(sankei.jp.msn.com/ dailynews.yahoo.co.jp/ b.hatena.ne.jp/ www.2ch.net/)
uris.each do |uri|
res = open(uri)
p "#{res.read.encoding.inspect}, Content-Type: #{res.meta['content-type']}"
end

results:
"#<Encoding:Shift_JIS>, Content-Type: text/html; charset=shift_jis"
"#<Encoding:EUC-JP>, Content-Type: text/html; charset=euc-jp"
"#<Encoding:UTF-8>, Content-Type: text/html;charset=utf-8"
"#<Encoding:ASCII-8BIT>, Content-Type: text/html"

Ruby1.9 の Net::HTTP はそれすらやらない、本当にプレーンな HTTP クライアントという性格に結果的になったってことだな
Net::HTTP のレベルで細かく処理されてたら確かに逆に面倒かもしれない

「HTTP ヘッダの Content-Type の charset があれば読んで設定、
それで valid_encoding? が偽なら meta タグの Content-Type を、
それでも invalid なら NKF.guess あたりの結果をブチ込み、
それでも invalid ならもうどうでもいいので ISO-8859-5 とかで流す」

という便利なんだか親切なんだかよくわからん HTTP クライアントは Ruby1.9 にこそあるべきだとは思う

あと、>>539のencodingの値はどれもほぼデフォルト値だから、
「あーこいつなんもエンコーディング処理やってねーな」と気づくことはできるぞ

549 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 14:27:50 ]
これで POST ができれば完璧なんだが
… 1.9.1 の open-uri は POST できたりする?



550 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 14:54:20 ]
>>548
ヘッダは見るけどメタタグは見てないということか?

551 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:01:41 ]
>>550
そう振舞うのが自然だと思う。
データの中身を見てどうにかするのは、そのデータを解析する層の仕事でしょ。

552 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:03:19 ]
>>550
そういう疑問はマニュアルくらい読めよ
……あああああ当たり前のように全く何も書いてねええええええ

え〜、OpenURI::Meta::meta_setup_encoding が該当処理になっとります
おーむねおーざっぱには次のような処理

res = Net::HTTP.start(uri.host, uri.port){|http| http.get(uri.path)}
charset = res['Cotent-Type].scan(/charset=(.+?)"/).to_s
if enc = Encoding.find(charset) then
 res.body.force_encoding(enc)
else
 res.body.force_encoding(Encoding::ASCII_8BIT)
end

<meta> タグを精度よく読もうとしたら HTML のパースをきちんとしないといけないから、
open-uri にとっては動作的にも意味的にも荷が重い

553 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:11:47 ]
なにこの「よくわからんがユーティーエフエイツって書けば黙るんだろファッキンジャップ」
とか言いつつLatin1を送りつけてくる無知外人を嵌めるブービートラップ


554 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:39:28 ]
それで嵌るのは大概こっち側だという罠

555 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:52:28 ]
Railsデプロイ
ttp://www.oreilly.co.jp/books/9784873114002/

…でぷろいって何よ

556 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 16:56:04 ]
まあ日本語で一発で表現できないからこそカタカナ語が残ったんだろうけどな
提供が近い?

557 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:00:17 ]
おれはいつも「配置」と脳内で訳しているが

558 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:01:26 ]
俺のイメージではインストールするだけじゃないインストール、つーかんじ?

559 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:01:51 ]
「Railsアプリのサーバ設置とユーザへの提供」だな



560 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:03:47 ]
Railsの本はRailsべったりでつまみ食いできないからつまんない
たまにはRailsからじゃなくても単独で便利に使えるライブラリ解説本とか出ないかな

561 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:08:12 ]
ちょこっとRailsとかやると新鮮でいいぞ
「だからRubyで書かせろよバカ」と思うことがないわけではないが

562 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:10:52 ]
ハッカーになるために必要な言語が
C/Perl/Haskell/Java/Ruby
ってまじっすか?

563 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:12:04 ]
Ruby 本体の open-uri に POST が入ることはないと思う。
どちらかというと、HTTP URI に post メソッドがつく方がまだありえる

564 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:18:46 ]
>>562
ハッカーに「なる」ことはそもそもできない
スーパースターになるために日々特訓、というのと似たような滑稽さがある

で、それらの言語はそれぞれ極まった特徴がある言語だ
一つの言語だけの知識しかないというのはプログラマー的には(趣味仕事問わず)かなり損なので、
なるべく色々な言語に触れることが好ましいとされている
で、「色々」をわりと学びやすいと思われる組み合わせとしてよく挙げられるのがそれだ、というただそれだけの話
それを頑なに信じて実践してもご利益は特にない
Lisp処理系が入ってないから片手落ちだけど

565 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:21:09 ]
Javaはいらないだろ

566 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:21:47 ]
>>563
post メソッドがついてたまるかー

query と同じような感覚で mutipart とかあのへんのデータがくっつく可能性ならあると思う

567 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:45:01 ]
>>560
ActiveRecord徹底解説みたいなのがほしい

568 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 17:47:49 ]
Rails2系に対応した詳細本って全く無いよな
仕方なくAmazonで英語の本買って読んでるけどRailsより英語に苦戦してほとんど進まない

569 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 19:50:03 ]
自作のライブラリのマニュアルとか書くじゃん?(書けよ?)
Sting#empty? みたいな述語なメソッドの説明あるじゃん?

 ・ ○○なとき真を返し、××なとき偽を返します
 ・ ○○なとき true を返し、××なとき false を返します

どっちがいい?



570 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 19:53:16 ]
真偽がtrue/falseを表すとは限らないから下の方がいい

571 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 19:59:15 ]
>>569

  このメソッドは△△についての真偽を返します

と言っておいて

  ○○なとき true を返し、××なとき false を返します

と書く
ただし、これがコンディションとして使われる場合はたとえば

  引数 param が nil か false だった場合…

とは(unless obj then ... みたいな実装だった場合の話だけど)書かずに

  引数 param が偽だった場合…

と広く書く

572 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 21:07:02 ]
質問。
Iconv の引数に渡すための文字エンコード名を、文字列を分析して取得したいんだけど、どんな方法がある?
ASCII/SJIS/EUC/JIS/UTF8 は NKF.guess があるよね

ISO8859-1 も Iconv の引数に入れたいんだ
どうやって検出すればいい?

573 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 21:19:12 ]
>>571
それってなんかの決まり事?
ルールみたいなのがどっかにあるんだったら教えてほしいな

574 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 22:32:06 ]
>>567
Pro ActiveRecordという本はある。
Railsと独立してActiveRecordを使う本。
まー、内容はソースが読める人ならいらないレベル。


575 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 22:57:13 ]
ソースを読めても効率を重視したい

576 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 23:04:59 ]
>>574
そこまで高度な内容でもなかったような記憶。


577 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 00:10:06 ]
ttp://www.atmarkit.co.jp/news/200902/27/langs.html
まあ適当に数字いじり

578 名前:デフォルトの名無しさん [2009/02/28(土) 00:32:10 ]
1年後のIT土方御用言語の傾向と思って記事を読み直してみると、なかなか興味深い。

579 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 00:37:43 ]
Perl/Pythonより売れてるってのが驚きだ
Matzがバブルと言うのもうなずける



580 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 01:20:04 ]
>>579
だってドキュメントが金出して本を買うしかないwwww

581 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 01:55:47 ]
javaが落ちるのは当然だがrubyがJava以上に落ちるのは意味不明だなぁ
Railsで一瞬盛り上がっただけなのかね

582 名前:デフォルトの名無しさん [2009/02/28(土) 17:17:46 ]
Rubyはある程度使ったら本読むよりネットやソース見たほうが早いって感じか。
Rubyは1.9以降でPythonは3.0以降がもっと使われだすとまた変わってくるかもね。


583 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 17:45:12 ]
単純にrubyはpythonの代わりにはなれないと判断されただけだろ

584 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 18:40:35 ]
Rubyはもう衰退期に入ってるのかもな

585 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 18:42:27 ]
成熟期、ではないんだろうか。ないかな。ないよな

586 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 18:45:18 ]
ruby(笑い)

587 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 18:46:00 ]
もともとPerlやらPythonやらがあったところに食い込んでるんだから
よくぞ生き残ったと思うよ
これだけ発展すれば、もういきなり死ぬって事は無い

588 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 18:56:52 ]
Railsに生かされてる感じだけどな

589 名前:572 mailto:sage [2009/02/28(土) 18:58:52 ]
あれ、みんな困ってないの?
Encoding に指定するエンコーディング名だって困るよね?



590 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 19:04:33 ]
はなから自動検出などあきらめている。


591 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 19:48:25 ]
perl, python, phpと違って、mod_rubyが(事実上)無い事が一番致命的だった。
レンタルサーバーで使えない。

592 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 19:56:14 ]
mod_rubyがどうこうと言うよりも、レンタルサーバーに関して言えば単にキラーアプリの不足だろう
tDiaryはかなりrubyを広めるのに貢献したけれど、それでもperlやphpに追いつくには足りなかった

593 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:04:34 ]
RUbyはところどころ未完成なのがいいんだよ
完成しすぎてると人気がなくなる

594 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:04:59 ]
phpMyAdmin、Trac、MovableType あたりがキラーアプリかな?
特にMovableTypeのお陰で、そこらのへなちょこレンタルサーバでもCPAN
モジュールが使えるようになったのはPerlでは大きいな。ちょっと遅かったけど。

595 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:11:25 ]
>>591
www.google.com/search?q=ruby-on-rails-hosting+discount
www.google.com/search?q=django-hosting+discount
railsとdjangoで比べると、railsが圧倒的。

596 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:13:34 ]
中途半端なmod_rubyがあったが為に、まともなmod_rubyが開発されなかった。
CGIAlt以前のcgi.rbと同じ構図。

597 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:13:59 ]
ぬるぽ

598 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:24:38 ]
>>589
NKF.guessでいいじゃん

599 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:33:46 ]
質問の前提を覆すなよwかわいそうだろ



600 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:58:56 ]
Rubyは遅くてたまらん。
フルアセンブラで書き直して欲しい。
誰かやらないか?

601 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 21:05:48 ]
もっとこう、発展余地のある方向を・・・・
JIT組み込んでみるとかさ、GCのアルゴリズム改良してみるとかさ、
部分的な型付けや型推論に挑むとかさ

602 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 21:07:46 ]
はあ?

603 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 22:20:48 ]
フルアセンブラ(笑)
そんなに遅いならRubyなんかで書かずにフルアセンブリで書けばいいじゃない

604 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 22:45:11 ]
日本で、Ruby はマイナーなテキストエディタのように生き残るよ。
日本語の漢字コードに対応しているし。

605 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 22:54:34 ]
>>604
>マイナーなテキストエディタのように
何となくしっくり来る例えだな

まぁ日本に限らず世界でも、ここまで使われ始めたRubyが
そう簡単に死ぬこともないだろう
仮に知名度が下がったとしても、ハッカーは使い続けていくさ

606 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:44:55 ]
>>600
1.9系使ってそう思うのならお前に安住の地はない

607 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:53:58 ]
>>596
mod_rubyって中途半端なの?

608 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:26:38 ]
一方俺は次のLispに逃げた

609 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:33:44 ]
一方おれは1.9に惹かれてRubyを始めた



610 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 01:35:10 ]
そして実践に使える場所がないことに気づく

611 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:29:10 ]
昔のRubyはgemだのrubyforgeだのなくて細々とRAAにユーザーのライブラリが
載ってるだけだったから、大抵のユーザーは自給自足してたけど、今は事情が違いすぎる。


612 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:43:57 ]
1.9使いたいんだが、使いたいgemのmswin32バイナリが1.9対応してない。

613 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 02:57:46 ]
>607
レン鯖にmod_ruby入れたら何が起こると思う?

614 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 03:03:08 ]
レンタルなんて仮想しか使わんがそれでもダメ?

>>612
何使いたいんだ?

615 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 09:42:48 ]
>>614
nokogiri

616 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 13:13:55 ]
>>615
まじで?ほんのちょっといじってみたが、おれが使う分には動作したのだが。
HTMLとってきてxpathを使ってデータ取り出すだけだけど。nokogiriのどの機能がだめ?

617 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 13:55:00 ]
>>616

実際に使いたいのはmechanizeなんだけど、それがnokogiriを必要としてるんでどうにかならんものかと。
一応状況説明。

ftp://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/ruby-1.9.1-p0-i386-mswin32.zip
といくつかの必要なdllを入れた環境で
gem install mechanize
とすると、
nokogiri-1.2.1-x86-mswin32-60
mechanize-0.9.1
がインストールされる。
で、インストールされたnokogiriのnative.soはmsvcrt-ruby18.dllを要求するけど、
入ってるrubyのdllはmsvcrt-ruby191.dllだからそんなものないということで動かない。
msvcrt-ruby18.dllを持ってきたとしてもまぁ色々拙くて駄目。

618 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 14:52:46 ]
ふむ
再現

619 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:16:26 ]
Nokogiri は今重点開発中だから報告すれば('(゚∀゚∩ なおるよ!
どっちかというと Mechanize のラテン文字バグを早めに直して欲しいんだが

require 'rubygems'
require 'mechanize'
agent = WWW::Mechanize.new
agent.get('www.google.com/language_tools?hl=en')

Iconv::IllegalSequence: "\240(Simplified)';n"...
   from /usr/lib/ruby/gems/1.8/gems/mechanize-0.9.1/lib/www/mechanize/util.rb:29:in `iconv'
   from /usr/lib/ruby/gems/1.8/gems/mechanize-0.9.1/lib/www/mechanize/util.rb:29:in `to_native_charset'

ISO-8859-1 なページでラテン文字とか記号つき文字とかがあると絶対にそこでエラーになるという



620 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:27:03 ]
>>619
そんなんテストで気づけよ…

621 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:31:50 ]
「中でIconv使ってるから文字エンコードごとにメジャーなとこ10個くらい出入力のチェックしよう」
と考えてテスト作る人は正直なとこかなり稀だと思うっていうかめんどくさいというかむしろ
テスト書くのが面倒だというただそれだけの理由でIconv使うの止めそうだ

622 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:33:42 ]
>>617-618
まじかよ。1.8と1.9を両方入れてるから間違えたのだろうか。
これから1500万件データを入れなきゃいけないから明日試してみよう。

623 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:35:44 ]
俺のは直る直らないと言う以前に1.9.1環境でビルドしたバイナリgemも用意しといてねって話しなんだけどね。
まぁ、それはそれとしてそんなバグもあるのか。

VC++2008 Express Editionでビルドできたら自前でビルドしちゃいたいところだけど、
これもこれで色々とうまくいかないんだよね。

624 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 15:47:16 ]
Mechanize のは
「他人のコードを入れたらそこでだけバグって全体が止まった」
という教科書に典型例として載りそうな事例
メインのメンテナさんは頭抱えてると思う

教訓としては「欧米ファイルを変換する場合は NKF.guess の返り値の文字エンコード名を Iconv に渡さない」
Latin のファイルが NKF.guess で SJIS か CP932 と誤認されて(というか NKF はこの選択肢しかない)、Iconv の変換がコケる

625 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:49:42 ]
マジでテキストの文字エンコーディングが
プログラミング上の悩みの種になりつつあるな。
特にスクリプト言語だと、己のスクリプトファイル
自身のエンコーディングと、扱うテキストデータの
エンコーディングの両方ともに注意が必要だ。
正規表現でマッチしなくなるとか、かなり致命的。

626 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:55:52 ]
>>625
んなもの、webアプリの世界では遙か昔っからの問題だ
それをUNICODE文字セットで揉めに揉めるだらWindowsのよくわからんローカライズだら
EUC-JPからの切り替え遅延だら、ずーーーっと先延ばししてきただけの話じゃないか
Perlが内部エンコーディングをUTF-8にし、Encodeモジュールを標準添付にしたのは
何年前だと思ってるんだ

627 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:12:25 ]
Matzか誰かがUTF-8を毛嫌いしてるだけで
EUC信者のせいで導入できなかったのが敗因
さっさとUTF-8にするのは正解だと思う

628 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:31:05 ]
そうだ、ISO-2022-JPもShift_JISもEUCも滅べばいい。
世界の文字コードがUTF-8になれば世界は平和になる

629 名前:デフォルトの名無しさん [2009/03/01(日) 23:09:09 ]
そう。過去資産の一部をすっぱり諦めるという英断を、開発者、ユーザを含めた全員でできれば
幸せな世界が待ってるんだ・・・・・。



630 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 23:38:51 ]
2byteで済むのが3byte-6byteになるのが嫌で反対してるんですね
わかります

631 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 23:45:29 ]
リソースフォークに文字エンコードを書く風習が広まっていれば…

632 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 23:58:21 ]
よし、じゃあ2chをUTF-8化しよう

633 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 00:07:45 ]
なってなかったっけ

634 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 00:11:15 ]
2ch書き込みはcp932

635 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 00:14:23 ]
Unicode文字が使える設定の板があるってだけだな

636 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 01:27:57 ]
Unicodeにもいろいろ違いがあるようだが、あまりよくわかってないダメなおれ
16だのなかったか?

637 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 11:01:03 ]
Code Set Independent は正義

638 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 11:31:18 ]
> Matzか誰かがUTF-8を毛嫌いしてるだけで
> EUC信者のせいで導入できなかったのが敗因
> さっさとUTF-8にするのは正解だと思う
何を言っているんだお前は、RubyにUTF-8対応パッチが入ったのは1999年のことだぞ。

> そうだ、ISO-2022-JPもShift_JISもEUCも滅べばいい。
> 世界の文字コードがUTF-8になれば世界は平和になる
無知な人は幸せでいいですね。

> 2byteで済むのが3byte-6byteになるのが嫌で反対してるんですね
> わかります
全くわかっていないので、とりあえずRFC3629くらいは読んでください。

> リソースフォークに文字エンコードを書く風習が広まっていれば…
なので今更ながらmagic commentなんぞ作ったわけです。

639 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 11:37:22 ]
> Unicodeにもいろいろ違いがあるようだが、あまりよくわかってないダメなおれ
> 16だのなかったか?
Unicodeは1つだからuniなのです。
通信時に用いる符号化にはUTF-8、UTF-16、UTF-32があります。
UTF-16は不幸な過去です・・・。

>>619
glibc iconv や libiconv の未定義文字があると例外投げる独自仕様は、
ほんとに有害ですよね。全てがCitrusになるといいと思います。

>>572
自動推測なんてものを当てにしていいのは小学生までです。
ていうか、ISO 8859シリーズの自動推測って不可能でしょ。
# 単語辞書とかでがんばるのかね?
XML宣言なりHTTPヘッダなりmagic commentなりを探してきてそれを使ってください。
そういうライブラリや、フレームワークはそのうち標準添付されるかもしれません。



640 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 12:11:13 ]
>>636
文字集合としてのUnicodeと、そのエンコーディング(符号化方式)であるUTF、という認識から
始めればいいかと。
俺もその先は詳しく知らんけど。

CSIってのは、単独文字集合内での利用においてはそれなりの合理性があるんだろうが、
現実の開発・動作時に、文字セット間の「変換」「推測」が実質必要になるのが根元的な問題。
それぞれ勝手な文字集合を使う上、さらにそれぞれもろにエンコーディングの問題もある、はず。

物事を単純化したいなら、Unicode一択なんだろうか

641 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 12:37:00 ]
> CSIってのは、単独文字集合内での利用においてはそれなりの合理性があるんだろうが、
> 現実の開発・動作時に、文字セット間の「変換」「推測」が実質必要になるのが根元的な問題。
まず、推測が必要になる時点で何かがおかしい。
そのデータを送ってきたやつはなんでそのデータのエンコーディングを送ってきてないんだ?
送ってきているのだとしたらなんでそれを無視するんだ?
日本語使いだとデータだけから言語がすぐに推測できるのだと思い込んでしまうのかもしれないが、
ヨーロッパの言語だと同じ文字を使っているから、数単語の場合は推測など不可能だぞ。

> それぞれ勝手な文字集合を使う上、さらにそれぞれもろにエンコーディングの問題もある、はず。
内部エンコーディングに処理系が対応しているものを使う限りは、
エンコーディングの問題なんか変換時に用いるエンコーディング名を正しく設定する以上はない。
未だに「表」の2バイト目は0x5Cだからエスケープと衝突して・・・なんてのは古代の遺物です。

Unicode系を内部エンコーディングとして使うとよいのは、
Unicodeが実用上もっとも大きな文字集合でかつ他のほとんどを包含してるから。
例えばJIS X 0208で足りるなら別にEUC-JPでもよい。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<205KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef