On 09/22/2014 01:14 PM, Ivan Gerasimov wrote:
Hello!
The UTF-8 encoding allows characters that are 4 bytes long.
However, CharsetEncoder.maxBytesPerChar() currently returns 3.0, which is not
always enough.
Would you please review the simple fix for this issue?
BUGURL: https://bugs.openjdk.java.net/browse/JDK-8058875
WEBREV: http://cr.openjdk.java.net/~igerasim/8058875/0/webrev/
Sincerely yours,
Ivan
The "character" in the nio Charset and CharDe/Encoder is specified as
"sixteen-bit Unicode
code unit", so it is reasonable to interpret the "character" in the "maximum
number of bytes
that will be produced for each character of input" to be the Java "char" as
well. In case of
UTF8, each 4-byte form supplementary character is always coded into 2 surrogate
chars,
it's "2 byte per char". Do we have a real escalation that complains about this?
-Sherman