[#47861] ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@...

20 messages 2011/02/10
[#47874] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@... 2011/02/15

前川です。

[#47875] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — OZAWA Sakuro <sakuro@2238club.org> 2011/02/15

さくです。

[#47876] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@... 2011/02/15

[#47877] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — OZAWA Sakuro <sakuro@2238club.org> 2011/02/15

さくです。

[#47878] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — Kenta Murata <muraken@...> 2011/02/15

むらたです。

[ruby-list:47848] Re: ruby1.9での文字列について

From: TADA Tadashi <t@...>
Date: 2011-02-08 10:27:44 UTC
List: ruby-list #47848
ただただしです。

2011/2/8 Nobuyuki Inaba <nobuyuki.inaba@gmail.com>:
> 1.8では、OKだったのですが、1.9では、
> UTF-8 の文字列と、ISO-2022-JPの混在が
> Encoding::CompatibilityError: incompatible character encodings: UTF-8
> and ISO-2022-JP
> と表示されます。
> それはわかるのですが、わざと混在させたいのですが、どうにかエラーが出ない様にできないでしょうか?
> できれば助かるのですが。

稲葉さんのおっしゃる「混在」の意味を定義しないと適切な
回答ができないと思います。

同一プログラム中に、複数の異なるエンコーディングを持つ
文字列を持つこと(混在)は普通に可能ですよね:

s1 = "あいう".encode 'ISO-2022-JP'
s2 = "あいう".encode 'UTF-8'

いっぽう、同一文字列中に異なるエンコーディングの部分文字
列を持たせること(これも混在)はできません:

s1 + s2 # => Encoding::CompatibilityError: incompatible character encodings

この場合はASCII-8BITにでも強制的に合わせてやれば、バイナ
リなビット列として扱えるでしょう:

s1.force_encoding('ASCII-8BIT') + s2.force_encoding('ASCII-8BIT')

もちろんこの場合はもはや文字列としての操作は諦めるしかあ
りませんが。

-- 
ただただし - ツッコミは、短く鋭く愛を込めて♪
http://tdtds.jp/
@tdtds

In This Thread