JDK 11 jdk.charsets.jmod - Charsets Module

JDK 11 jdk.charsets.jmod is the JMOD file for JDK 11 Charsets module.

JDK 11 Charsets module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.charsets.jmod.

JDK 11 Charsets module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.

JDK 11 Charsets module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.charsets.

You can click and view the content of each source code file in the list below.

✍: FYIcenter

sun/nio/cs/ext/EUC_JP_Open.java

/*
 * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */

package sun.nio.cs.ext;

import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CoderResult;
import sun.nio.cs.DoubleByte;
import sun.nio.cs.HistoricallyNamedCharset;
import sun.nio.cs.*;
import static sun.nio.cs.CharsetMapping.*;

public class EUC_JP_Open
    extends Charset
    implements HistoricallyNamedCharset
{
    public EUC_JP_Open() {
        super("x-eucJP-Open", ExtendedCharsets.aliasesFor("x-eucJP-Open"));
    }

    public String historicalName() {
        return "EUC_JP_Solaris";
    }

    public boolean contains(Charset cs) {
        return ((cs.name().equals("US-ASCII"))
                || (cs instanceof JIS_X_0201)
                || (cs instanceof EUC_JP));
    }

    public CharsetDecoder newDecoder() {
        return new Decoder(this);
    }

    public CharsetEncoder newEncoder() {
        return new Encoder(this);
    }

    private static class Decoder extends EUC_JP.Decoder {
        private static DoubleByte.Decoder DEC0208_Solaris =
            (DoubleByte.Decoder)new JIS_X_0208_Solaris().newDecoder();
        private static DoubleByte.Decoder DEC0212_Solaris =
            (DoubleByte.Decoder)new JIS_X_0212_Solaris().newDecoder();

        private Decoder(Charset cs) {
            // JIS_X_0208_Solaris only has the "extra" mappings, it
            // does not have the JIS_X_0208 entries
            super(cs, 0.5f, 1.0f, DEC0201, DEC0208, DEC0212_Solaris);
        }

        protected char decodeDouble(int byte1, int byte2) {
            char c = super.decodeDouble(byte1, byte2);
            if (c == UNMAPPABLE_DECODING)
                return DEC0208_Solaris.decodeDouble(byte1 - 0x80, byte2 - 0x80);
            return c;
        }
    }

    private static class Encoder extends EUC_JP.Encoder {
        private static DoubleByte.Encoder ENC0208_Solaris =
            (DoubleByte.Encoder)new JIS_X_0208_Solaris().newEncoder();

        private static DoubleByte.Encoder ENC0212_Solaris =
            (DoubleByte.Encoder)new JIS_X_0212_Solaris().newEncoder();

        private Encoder(Charset cs) {
            // The EUC_JP_Open has some interesting tweak for the
            // encoding, so can't just pass the euc0208_solaris to
            // the euc_jp. Have to override the encodeDouble() as
            // showed below (mapping testing catches this).
            // super(cs, 3.0f, 3.0f, ENC0201, ENC0208_Solaris, ENC0212_Solaris);
            super(cs);
        }

        protected int encodeDouble(char ch) {
            int b = super.encodeDouble(ch);
            if (b != UNMAPPABLE_ENCODING)
                return b;
            b = ENC0208_Solaris.encodeChar(ch);
            if (b != UNMAPPABLE_ENCODING && b > 0x7500) {
                return 0x8F8080 + ENC0212_Solaris.encodeChar(ch);
            }
            return b == UNMAPPABLE_ENCODING ? b : b + 0x8080;

        }
    }
}

sun/nio/cs/ext/EUC_JP_Open.java

 

JDK 11 jdk.compiler.jmod - Compiler Tool

JDK 11 jdk.attach.jmod - Attach Module

Download and Use JDK 11

⇑⇑ FAQ for JDK (Java Development Kit)

2020-08-13, 10213👍, 0💬