Project

General

Profile

Actions

Bug #981

closed

String#encode() keeps invalid bytes when converting to US-ASCII

Added by duerst (Martin Dürst) almost 16 years ago. Updated over 13 years ago.

Status:
Closed
Target version:
ruby -v:
Backport:
[ruby-dev:37699]

Description

=begin
String#encode() (変換の指定なし、default_internal に変換) は
default_internal が US-ASCII の場合だけ invalid なバイトや
unknown な文字をそのままコピーします。他のエンコーディング
では '?' などにレプレースされます。

実行例:

ruby -E:ascii-8bit -e'puts "\uabcd'.encode.inspect'
"?"

ruby -E:euc-jp -e'puts "\uabcd'.encode.inspect'
"?"

ruby -E:us-ascii -e'puts "\uabcd'.encode.inspect'
"\xEA\xAF\x8D"

意図的なものであるとはどうしても思いませんが、もしそう
でしたら rdoc で書いた方がいいかと思います。

([ruby-dev:37662] 参照)

よろしくお願いします。 Martin.
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0