All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.moon.core.enums.Charsets Maven / Gradle / Ivy

package com.moon.core.enums;

import com.moon.core.lang.StringUtil;

import java.nio.charset.Charset;
import java.util.function.Supplier;

/**
 * @author moonsky
 */
public enum Charsets implements Supplier, EnumDescriptor {
    /**
     * 北美、西欧、拉丁美洲、加勒比海、加拿大、非洲
     */
    ISO_8859_1,
    /**
     * 东欧
     */
    ISO_8859_2,
    /**
     * SE Europe、世界语、其他杂项
     */
    ISO_8859_3,
    /**
     * 斯堪的纳维亚/波罗的海(以及其他没有包括在 ISO-8859-1 中的部分)
     */
    ISO_8859_4,
    /**
     * 使用古代斯拉夫语字母表的语言,比如保加利亚语、白俄罗斯文、俄罗斯语、马其顿语
     */
    ISO_8859_5,
    /**
     * 使用阿拉伯字母的语言
     */
    ISO_8859_6,
    /**
     * 现代希腊语,以及由希腊语衍生的数学符号
     */
    ISO_8859_7,
    /**
     * 使用希伯来语的语言
     */
    ISO_8859_8,
    /**
     * 土耳其语。除了土耳其字符取代了冰岛文字,其它与 ISO-8859-1 相同。
     */
    ISO_8859_9,
    /**
     * 拉普兰语、日耳曼语、爱斯基摩北欧语
     */
    ISO_8859_10,
    /**
     * 与 ISO 8859-1 类似,欧元符号和其他一些字符取代了一些较少使用的符号
     */
    ISO_8859_15,
    /**
     * 日本语
     */
    ISO_2022_JP,
    /**
     * 日本语
     */
    ISO_2022_JP_2,
    /**
     * 韩语
     */
    ISO_2022_KR,
    /**
     * UTF8 中的字符可以是 1-4 个字节长。
     * UTF-8 可以表示 Unicode 标准中的任意字符。
     * UTF-8 向后兼容 ASCII。UTF-8 是网页和电子邮件的首选编码。
     */
    UTF_8,
    /**
     * 16 比特的 Unicode 转换格式是一种 Unicode 可变字符编码,能够对全部 Unicode 指令表进行编码。
     * UTF-16 主要被用于操作系统和环境中,比如微软的 Windows 2000/XP/2003/Vista/CE 以及 Java 和 .NET 字节代码环境。
     */
    UTF_16;

    Charsets() { }

    @Override
    public String getText() { return StringUtil.replace(name(), '_', '-'); }

    public Charset charset() { return forName(getText()); }

    public static Charset forName(String name) { return Charset.forName(name); }

    @Override
    public Charset get() { return charset(); }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy