<i18n dev> RFR: 8266013: Unexpected replacement character handling on stateful CharsetEncoder
    Ichiroh Takiguchi 
    itakiguchi at openjdk.java.net
       
    Tue Apr 27 16:56:58 UTC 2021
    
    
  
When an invalid character is converted by getBytes() method, the character is converted to replacement byte data.
Shift code (SO/SI) may not be added into right place by EBCDIC Mix charset.
EBCDIC Mix charset encoder is stateful encoder.
Shift code should be added by switching character set.
On x-IBM1364, "\u3000\uD800" should be converted to "\x0E\x40\x40\x0F\x6F", but "\x0E\x40\x40\x6F\x0F"
SI is not in right place.
Also ISO2022 related charsets use escape sequence to switch character set.
But same kind of issue is there.
-------------
Commit messages:
 - 8266013: Unexpected replacement character handling on stateful CharsetEncoder
Changes: https://git.openjdk.java.net/jdk/pull/3719/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3719&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8266013
  Stats: 248 lines in 3 files changed: 228 ins; 12 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3719.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3719/head:pull/3719
PR: https://git.openjdk.java.net/jdk/pull/3719
    
    
More information about the i18n-dev
mailing list