Project

General

Profile

Actions

Feature #565

closed

Encoding::compatible? should also accept Encoding objects as parameters

Added by mike (Michael Selig) about 13 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:18595]

Description

=begin
Some software needs to do transcoding of strings or regexps to be compatible with incoming data from either a file or strings passed as parameters etc. It needs to say things like:

Encoding.compatible?(Encoding.default_external, str)
or:
Encoding.compatible?(io.internal_encoding, Encoding.find("ASCII"))
etc.

It is possible to do this by creating dummy strings in the encodings, and passing those, but in that case Ruby seems to try to optimize them based on content (eg: null strings), and so can say that the strings are compatible when in fact in general the encodings are not.
eg:
Encoding.compatible?("".force_encoding("UTF-16BE"), "".force_encoding("ASCII"))
=> #Encoding:UTF-16BE

So the request is to allow Encoding::compatible? to accept Encoding objects as well as strings and Regexps.
=end

Actions

Also available in: Atom PDF