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

com.gitee.apanlh.util.encode.CharsetCode Maven / Gradle / Ivy

There is a newer version: 2.0.0.2
Show newest version
package com.gitee.apanlh.util.encode;

import com.gitee.apanlh.util.base.CollUtils;
import com.gitee.apanlh.util.base.Eq;
import com.gitee.apanlh.util.valid.ValidParam;

import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List;
import java.util.Map;

/**
 * 	字符集编码
 * 	
 * 	@author Pan
 */
public class CharsetCode {
	
	/** 虚拟机默认字符集编码 */
	public static final Charset CHARSET_DEFAULT     = Charset.defaultCharset(); 
	public static final String  DEFAULT     		= CHARSET_DEFAULT.name();
	 
	/**	获取当前所支持的字符集 */
	private static final Map ALL_CHARSET 			= Charset.availableCharsets();
	private static final List 		  ALL_CHARSET_STRING 	= Collections.unmodifiableList(CollUtils.newArrayList(ALL_CHARSET.keySet()));
	private static final List 		  ALL_CHARSET_CHARSET 	= Collections.unmodifiableList(CollUtils.newArrayList(ALL_CHARSET.values()));
	/** --------------------------------------------------------------------------------- */
	public static final String US_ASCII 	= "US-ASCII";
    public static final String ISO_8859_1 	= "ISO-8859-1";
    public static final String GBK 			= "GBK";
    public static final String UTF_8 		= "UTF-8";
    public static final String UTF_16BE 	= "UTF-16BE";
    public static final String UTF_16LE 	= "UTF-16LE";
    public static final String UTF_16 		= "UTF-16";
    /** --------------------------------------------------------------------------------- */
    public static final Charset CHARSET_US_ASCII 	= StandardCharsets.US_ASCII;
    public static final Charset CHARSET_ISO_8859_1 	= StandardCharsets.ISO_8859_1;
    public static final Charset CHARSET_GBK 		= Charset.forName(GBK);
    public static final Charset CHARSET_UTF_8 		= StandardCharsets.UTF_8;
    public static final Charset CHARSET_UTF_16BE 	= StandardCharsets.UTF_16BE;
    public static final Charset CHARSET_UTF_16LE 	= StandardCharsets.UTF_16LE;
    public static final Charset CHARSET_UTF_16 		= StandardCharsets.UTF_16;
    
	/**
	 * 	构造函数
	 * 
	 * 	@author Pan
	 */
	private CharsetCode() {
		//	不允许外部实例
		super();
	}
	
	/**	
	 * 	根据Charset类型字符集获取String类型字符集
	 * 
如果获取字符集编码为空返回指定字符集编码 * * @author Pan * @param charset 指定字符集 * @param defaultCharset 默认返回字符集 * @return Charset */ public static String getString(Charset charset, Charset defaultCharset) { if (charset == null) { return defaultCharset.toString(); } for (int index = 0; index < ALL_CHARSET_CHARSET.size(); index++) { if (Eq.object(ALL_CHARSET_CHARSET.get(index), charset)) { return ALL_CHARSET_STRING.get(index); } } return defaultCharset.toString(); } /** * 获取当前系统默认字符集 *
返回Charset类型 * * @author Pan * @return Charset */ public static Charset getDefaultToCharset() { return CHARSET_DEFAULT; } /** * 获取当前系统默认字符集 *
返回String类型 * * @author Pan * @return String */ public static String getDefaultToString() { return DEFAULT; } /** * 根据String类型字符集获取Charset类型字符集 *
如果获取字符集编码为空返回指定字符集编码 * * @author Pan * @param charset 字符集 * @param defaultCharset 默认返回指定字符集编码 * @return Charset */ public static Charset getCharset(String charset, Charset defaultCharset) { if (ValidParam.isEmpty(charset)) { return defaultCharset; } Charset charset2 = ALL_CHARSET.get(charset); if (charset2 == null) { return defaultCharset; } return charset2; } /** * 获取当前所支持的字符集 *
返回Charset类型 * * @author Pan * @return List */ public static List getAllToCharset() { return ALL_CHARSET_CHARSET; } /** * 获取当前所支持的字符集 *
返回String类型 * * @author Pan * @return List */ public static List getAllToString() { return ALL_CHARSET_STRING; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy