From: "U.Nakamura" Date: 2008-01-25T21:28:56+09:00 Subject: [ruby-dev:33376] Re: summary of script encoding こんにちは、なかむら(う)です。 In message "[ruby-dev:33375] Re: summary of script encoding" on Jan.25,2008 21:11:01, wrote: | |通常のスクリプトの場合 | script encoding | default external | | |------------------------------+-----------------+------------------+ | |-K・-Eなし、magic commentなし | ASCII-8BIT(*) | locale | | |-K・-Eなし、magic commentあり | magic comment | locale | | |-Eあり、magic commentなし | ASCII-8BIT(*) | -E | | |-Eあり、magic commentあり | magic comment | -E | | |-Kあり、magic commentなし | -K | -K | | |-Kあり、magic commentあり | magic comment | -K | | | (*) ここはUS-ASCIIの方が良いのではないかと思います。エンコー | ディング間違いの検出にも役立ちますし。US-ASCIIにして不便 | なことってありましたっけ。いや、もちろんmagic commentが | 強制されること以外に、という意味ですが。 エスケープシーケンスで8bitなバイトが入ったらASCII-8BITに自動 昇格(降格?)するようになりましたし、US-ASCIIでいいのかな、とい う気もしますね。 8bitリテラルに関してはもともと-Kオプションが必要だったので、 互換性も問題ない、のかな。 | |-eおよびstdinの場合 | script encoding | default external | | |------------------------------+-----------------+------------------+ | |-K・-Eなし、magic commentなし | locale | locale | | |-K・-Eなし、magic commentあり | magic comment | locale | | |-Eあり、magic commentなし | -E(*) | -E | | |-Eあり、magic commentあり | magic comment | -E | | |-Kあり、magic commentなし | -K | -K | | |-Kあり、magic commentあり | magic comment | -K | | | |一点だけ気になっていることがあって、-eは--encodingによらず | |localeとする方が実用上便利なのではないかと思ったりします。 | |とりあえず問題提起だけすが。 | | (*) すでに指摘がありますが、こちらは-Eではなくlocaleがよさそ | うに思います。-Eはdefault_externalの指定のみに限定しましょ | う。 -eに関してはなかださんが[ruby-dev:33374]のような対応をとりあ えず入れて下さっていますが、-e・stdinに関わらずlocaleにするの がいいですか? それでは。 -- U.Nakamura