QA@IT
«質問へ戻る

タグをいくつか追加してみました

1138
タグ

UTF-7 エンコーディングの存在意義は?

Ruby 1.9.3 に UTF-7 というエンコーディングがありますが、UTF-8 から変換することができません。

% ruby -ve '"a".encode("utf-7","utf-8")'
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
-e:1:in `encode': code converter not found (UTF-8 to UTF-7) (Encoding::ConverterNotFoundError)
    from -e:1:in `<main>'

また、UTF-7 はダミーエンコーディングなので、文字単位の処理もできません。

他のエンコーディングからの変換もできないダミーエンコーディングは何のために存在しているのでしょうか。

ISO-2022-JP-2 も同様のようです。

% ruby -e 'Encoding.list.each{|enc| begin; "a".encode(enc,"utf-8"); rescue=>e; p e; end}'     
#<Encoding::ConverterNotFoundError: code converter not found (UTF-8 to ISO-2022-JP-2)>
#<Encoding::ConverterNotFoundError: code converter not found (UTF-8 to UTF-7)>
Ruby 1.9.3 に UTF-7 というエンコーディングがありますが、UTF-8 から変換することができません。

```
% ruby -ve '"a".encode("utf-7","utf-8")'
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
-e:1:in `encode': code converter not found (UTF-8 to UTF-7) (Encoding::ConverterNotFoundError)
	from -e:1:in `<main>'
```

また、UTF-7 はダミーエンコーディングなので、文字単位の処理もできません。

他のエンコーディングからの変換もできないダミーエンコーディングは何のために存在しているのでしょうか。

ISO-2022-JP-2 も同様のようです。

```
% ruby -e 'Encoding.list.each{|enc| begin; "a".encode(enc,"utf-8"); rescue=>e; p e; end}'     
#<Encoding::ConverterNotFoundError: code converter not found (UTF-8 to ISO-2022-JP-2)>
#<Encoding::ConverterNotFoundError: code converter not found (UTF-8 to UTF-7)>
```

質問を投稿

UTF-7 エンコーディングの存在意義は?

Ruby 1.9.3 に UTF-7 というエンコーディングがありますが、UTF-8 から変換することができません。

% ruby -ve '"a".encode("utf-7","utf-8")'
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
-e:1:in `encode': code converter not found (UTF-8 to UTF-7) (Encoding::ConverterNotFoundError)
    from -e:1:in `<main>'

また、UTF-7 はダミーエンコーディングなので、文字単位の処理もできません。

他のエンコーディングからの変換もできないダミーエンコーディングは何のために存在しているのでしょうか。

ISO-2022-JP-2 も同様のようです。

% ruby -e 'Encoding.list.each{|enc| begin; "a".encode(enc,"utf-8"); rescue=>e; p e; end}'     
#<Encoding::ConverterNotFoundError: code converter not found (UTF-8 to ISO-2022-JP-2)>
#<Encoding::ConverterNotFoundError: code converter not found (UTF-8 to UTF-7)>
Ruby 1.9.3 に UTF-7 というエンコーディングがありますが、UTF-8 から変換することができません。

```
% ruby -ve '"a".encode("utf-7","utf-8")'
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
-e:1:in `encode': code converter not found (UTF-8 to UTF-7) (Encoding::ConverterNotFoundError)
	from -e:1:in `<main>'
```

また、UTF-7 はダミーエンコーディングなので、文字単位の処理もできません。

他のエンコーディングからの変換もできないダミーエンコーディングは何のために存在しているのでしょうか。

ISO-2022-JP-2 も同様のようです。

```
% ruby -e 'Encoding.list.each{|enc| begin; "a".encode(enc,"utf-8"); rescue=>e; p e; end}'     
#<Encoding::ConverterNotFoundError: code converter not found (UTF-8 to ISO-2022-JP-2)>
#<Encoding::ConverterNotFoundError: code converter not found (UTF-8 to UTF-7)>
```