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でもよい。