[#34204] 「プログラミング Ruby 」 p.257 defined? はメソッド? — Noritsugu Nakamura <nnakamur@...>

15 messages 2002/03/05
[#34205] Re: 「プログラミング Ruby 」 p.257 defined? はメソッド? — nobu.nakada@... 2002/03/05

なかだです。

[#34244] しぶらぐっ議事録。 — rubiben <ozaki@...>

48 messages 2002/03/08
[#34250] Re: しぶらぐっ議事録。 — Minero Aoki <aamine@...> 2002/03/09

あおきです。

[#34246] Re: しぶらぐっ議事録。 — rubikitch <rubikitch@...> 2002/03/08

From: rubiben <ozaki@ruby-lang.org>

[#34448] 文字コード混在スクリプトの実行 — Noritsugu Nakamura <nnakamur@...>

14 messages 2002/03/16

[#34453] カレンダー文字列を作るメソッド — Take_tk <ggb03124@...>

たけ(tk)です。

13 messages 2002/03/16

[#34534] スクリプティング言語における GPL — Taku Nakajima <tnakajima@...>

中島@ブレーンです。

26 messages 2002/03/21

[#34552] Re: 1.7 に関して — "井上 浩一" <kyoui32@...>

井上です。

22 messages 2002/03/22
[#34556] Re: 1.7 に関して — "U.Nakamura" <usa@...> 2002/03/22

こんにちは、なかむら(う)です。

[#34590] Ruby FAQ (Re: 1.7 に関して) — TAKAHASHI Masayoshi <maki@...> 2002/03/22

高橋征義です。

[#34570] cgi.rb+ イテレータ — FUJIOKA Takeyuki <fujioka@...>

藤岡です。

15 messages 2002/03/22

[#34676] 安心できる Marshal と、 Ruby バージョンの検査法 — MALTA Koji <malta@...>

丸田と申します。

62 messages 2002/03/30
[#34678] Re: 安心できる Marshal と、 Ruby バージョンの検査法 — Koji Arai <JCA02266@...> 2002/03/31

新井です。

[#34682] Ruby バージョンの検査法 — MALTA Koji <malta@...> 2002/03/31

丸田です。 MarshalとRUBY_VERSIONの話題を分離します。

[#34694] Re: Ruby バージョンの検査法 — WATANABE Hirofumi <eban@...> 2002/04/01

わたなべです。

[#34695] Re: Ruby バージョンの検査法 — shukaku@... 2002/04/01

At Mon, 1 Apr 2002 16:06:23 +0900,

[#34697] Re: Ruby バージョンの検査法 — WATANABE Hirofumi <eban@...> 2002/04/01

わたなべです。

[#34714] Re: Ruby バージョンの検査法 — MALTA Koji <malta@...> 2002/04/01

丸田です。

[#34719] Re: Ruby バージョンの検査法 — HIDAKA Takahiro <cv8t-hdk@...> 2002/04/02

 ひだかです。

[#34738] Re: Ruby バージョンの検査法 — MALTA Koji <malta@...> 2002/04/02

丸田です。

[#34743] Re: Ruby バージョンの検査法 — matz@... (Yukihiro Matsumoto) 2002/04/02

まつもと ゆきひろです

[#34748] Re: Ruby バージョンの検査法 — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/04/03

なひです。

[#34760] Re: Ruby バージョンの検査法 — Koji Arai <JCA02266@...> 2002/04/03

新井です。

[#34765] Re: Ruby バージョンの検査法 — "U.Nakamura" <usa@...> 2002/04/04

こんにちは、なかむら(う)です。

[#34776] Re: Ruby バージョンの検査法 — Tanaka Akira <akr@...17n.org> 2002/04/04

In article <20020404095542.7155.USA@osb.att.ne.jp>,

[#34681] 書籍に関する質問です — Nobuhide Kanagawa <nobuhide@...>

こんにちわ。

17 messages 2002/03/31

[ruby-list:34298] Re: 多種多様の文字コードに対応するには?

From: TAKAHASHI Masayoshi <maki@...>
Date: 2002-03-10 17:53:12 UTC
List: ruby-list #34298
高橋征義です。

"井上 浩一" <kyoui32@hotmail.com> wrote:
> ここで疑問に思うのは、WEBで入力される文字コードは、JIS/SJIS/EUC/UTF-8など
> さまざまなコードで入力されますが、この$KCODEというものは、内部文字処理を限定
> する=(例えば入力部でSJISで来ようが、
> Ruby処理中は $KCODEで指定した文字コードで処理される)ということでしょうか?

いいえ、$KCODEはそういうものではないです。
どちらかというとその逆で、文字列や正規表現の文字コードを
$KCODEで指定しているものと仮定して処理する、という感じです。

> 私は心配で、
> 
> require 'kconv'
> 
> $KCODE = "e"
> 
> class String
>   mojihen = self.toeuc  # SJISで入力されてとして
>   def han2zen
>     NKF::nkf( '-EeX -m0', mojihen) # 出力コードは、EUC_JPで、半角が全角に置
> き換わる
>   end
> end
> 
> print "*パソコン*結構です".han2zen  # WEBでSJISの文字が入力されたと仮定
> 
> 
> としますが、この処理は不要で $KCODE="e"とすれば、どんな文字コードでも対処で
> きる強力なおまじないでしょうか?

いいえ、この場合、$KCODEはぜんぜん強力じゃないです。
というか、上の例だと$KCODEの指定は不要ですね。

なお、UTF-8が来ないことを仮定すれば、

class String
  def han2zen
    NKF::nkf( '-eX -m0', self)
  end
end

とすれば、

str = shift_jis_string.han2zen

で str に全角化されたEUC-JPの文字列が入ります(たぶん。文字列が
短すぎる場合にはうまくいかないこともあります)。

> こういう多種多様な文字コードを一元的に扱えるライブラリがRubyの標準で存在して
> いれば、悩まないですむと思います。

えーと、そういう問題だけでもないような。
「WEBで入力される文字コードは、JIS/SJIS/EUC/UTF-8など
さまざまなコードで入力され」る以上、それらを判別しなければならない
のですが、確実に判別できる方法は提供されてなかったんじゃなかった
でしょうか?
となると自動判別の必要がありますが、UTF-8の場合も含めた自動判別は
それなりに難しそうです。

とはいえ、UTF-8にも対応できるnkfみたいなもの、というものの
需要はそれなりにありそうですね。

高橋征義 (TAKAHASHI Masayoshi)   E-mail: maki@rubycolor.org

In This Thread

Prev Next