Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8266013

Unexpected replacement character handling on stateful CharsetEncoder

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P3 P3
    • tbd
    • 17
    • core-libs
    • None

      EBCDIC Mix charsets and ISO-2022 related charsets are stateful charsets.
      I mean,
      For EBCDIC Mix,
      SO(Shift Out) and SI (Shift In) characters are required to switch from SBCS (Single Byte Character Set) to DBCS (Double Byte Character Set), or from DBCS to SBCS.

      For ISO2022 related,
      Escape sequence is required to switch encoder.

      I checked stateful charsets,
      ======
      $ jdk-17.jdk+19/Contents/Home/bin/java StatefulEncoderTest1.java
      ISO-2022-JP: \x20\x21\x29<->\x20\x1B\x24\x42\x21\x29\x1B\x28\x42
      ISO-2022-JP-2: \x20\x21\x29<->\x20\x1B\x24\x42\x21\x29\x1B\x28\x42
      ISO-2022-KR: \x1B\x24\x29\x43\x0E\x21\x21\x3F<->\x1B\x24\x29\x43\x0E\x21\x21\x0F\x3F
      x-IBM1364: \x0E\x40\x40\x6F\x0F<->\x0E\x40\x40\x0F\x6F
      x-IBM930: \x0E\x40\x40\x6F\x0F<->\x0E\x40\x40\x0F\x6F
      x-IBM933: \x0E\x40\x40\x6F\x0F<->\x0E\x40\x40\x0F\x6F
      x-IBM935: \x0E\x40\x40\x6F\x0F<->\x0E\x40\x40\x0F\x6F
      x-IBM937: \x0E\x40\x40\x6F\x0F<->\x0E\x40\x40\x0F\x6F
      x-IBM939: \x0E\x40\x40\x6F\x0F<->\x0E\x40\x40\x0F\x6F
      x-ISO-2022-CN-CNS: \x1B\x24\x29\x47\x0E\x21\x21\x3F<->\x1B\x24\x29\x47\x0E\x21\x21\x0F\x3F
      x-ISO-2022-CN-GB: \x1B\x24\x29\x41\x0E\x21\x21\x3F<->\x1B\x24\x29\x41\x0E\x21\x21\x0F\x3F
      x-windows-50220: \x20\x21\x29<->\x20\x1B\x24\x42\x21\x29\x1B\x28\x42
      x-windows-50221: \x20\x21\x29<->\x20\x1B\x24\x42\x21\x29\x1B\x28\x42
      x-windows-iso2022jp: \x20\x21\x29<->\x20\x1B\x24\x42\x21\x29\x1B\x28\x42
      ======

      Above charsets test result is not expected.

            itakiguchi Ichiroh Takiguchi
            itakiguchi Ichiroh Takiguchi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: