JDK 9 RFR of 8039474: sun.misc.CharacterDecoder.decodeBuffer should use getBytes(iso8859-1)

Mike Duigou mike.duigou at oracle.com
Thu Apr 10 18:05:02 UTC 2014

It won't be symmetrical unless the default charset is ISO8859-1.

We can't change sun.misc.CharacterEncoder(byte) to use the default charset because it has the longstanding behaviour of encoding to ISO8859-1 and I would argue we can't change sun.misc.CharacterDecoder(String) from using the default charset because that behaviour is also longstanding. Strange, wrongheaded and nonsensical behaviour, but longstanding.

"Isn't all this sun.misc stuff going go away soon anyway?" <-- wishful thinking


On Apr 10 2014, at 10:59 , Brian Burkhalter <brian.burkhalter at oracle.com> wrote:

> How can one keep it symmetrical without forcing a particular encoding?
> Brian
> On Apr 10, 2014, at 10:54 AM, Mike Duigou <mike.duigou at oracle.com> wrote:
>> Shouldn't we be using the platform default character set rather than iso8859-1?
>> This change will change the charset used for all platforms not using iso885901 as their default.
>> It is certainly odd that sun.misc.CharacterEncoder(byte) and sun.misc.CharacterDecoder(String) are not symmetrical but this seems like a serious historical wart we might need to preserve.

More information about the core-libs-dev mailing list