Package org.miaixz.bus.core.lang
Class Charset
java.lang.Object
org.miaixz.bus.core.lang.Charset
字符集工具类
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Charset默认字符集信息static final Stringstatic final StringGB18030 编码static final StringGB2312 转换格式static final StringGBK UCS 转换格式static final StringISO拉丁字母第1号,即ISO- Latin -1static final String7位ASCII码,即ISO646-US,也就是Unicode字符集的基本拉丁字符块static final String16位UCS转换格式,字节顺序由可选的字节顺序标记标识static final String16位UCS转换格式,大写字节顺序static final String16位UCS转换格式,小写字节顺序static final String32位UCS转换格式,大写字节顺序static final String32位UCS转换格式,小写字节顺序static final String8位UCS转换格式static final Charsetstatic final Charsetstatic final Charsetstatic final Charsetstatic final Charsetstatic final Charsetstatic final Charsetstatic final Charsetstatic final Charsetstatic final Charsetstatic final Charset -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Charset转换为Charset对象static File转换文件编码 此方法用于转换文件编码,读取的文件实际编码必须与指定的srcCharset编码一致,否则导致乱码static String转换字符串的字符集编码static String转换字符串的字符集编码 当以错误的编码读取为字符串时,打印字符串将出现乱码。 此方法用于纠正因读取使用编码错误导致的乱码问题。 例如,在Servlet请求中客户端用GBK编码了请求参数,我们使用UTF-8读取到的是乱码,此时,使用此方法即可还原原编码的内容static Charset系统默认字符集编码static String系统默认字符集编码static Charsetdetect(int bufferSize, InputStream in, Charset... charsets) 探测编码 注意:此方法会读取流的一部分,然后关闭流,如重复使用流,请使用使用支持reset方法的流static Charsetdetect(InputStream in, Charset... charsets) 探测编码 注意:此方法会读取流的一部分,然后关闭流,如重复使用流,请使用使用支持reset方法的流static CharsetDecodernewDecoder(Charset charset, CodingErrorAction action) 创建一个新的CharsetDecoder实例,配置指定的字符集和错误处理行为。static CharsetEncodernewEncoder(Charset charset, CodingErrorAction action) 创建一个新的CharsetEncoder实例,配置指定的字符集和错误处理策略。static Charset解析字符串编码为Charset对象,解析失败返回系统默认编码static Charset解析字符串编码为Charset对象,解析失败返回默认编码static Charset系统字符集编码,如果是Windows,则默认为GBK编码,否则取defaultCharsetName()static String系统字符集编码,如果是Windows,则默认为GBK编码,否则取defaultCharsetName()
-
Field Details
-
DEFAULT
默认字符集信息 -
DEFAULT_CHARSET
-
DEFAULT_ISO_8859_1
ISO拉丁字母第1号,即ISO- Latin -1- See Also:
-
ISO_8859_1
-
DEFAULT_US_ASCII
7位ASCII码,即ISO646-US,也就是Unicode字符集的基本拉丁字符块- See Also:
-
US_ASCII
-
DEFAULT_GBK
GBK UCS 转换格式- See Also:
-
GBK
-
DEFAULT_GB_2312
GB2312 转换格式- See Also:
-
GB_2312
-
DEFAULT_GB_18030
GB18030 编码- See Also:
-
GB_18030
-
DEFAULT_UTF_8
8位UCS转换格式- See Also:
-
UTF_8
-
DEFAULT_UTF_16
16位UCS转换格式,字节顺序由可选的字节顺序标记标识- See Also:
-
UTF_16
-
DEFAULT_UTF_16_BE
16位UCS转换格式,大写字节顺序- See Also:
-
UTF_16_BE
-
DEFAULT_UTF_16_LE
16位UCS转换格式,小写字节顺序- See Also:
-
UTF_16_LE
-
DEFAULT_UTF_32_BE
32位UCS转换格式,大写字节顺序- See Also:
-
UTF_32_BE
-
DEFAULT_UTF_32_LE
32位UCS转换格式,小写字节顺序- See Also:
-
UTF_32_LE
-
-
Constructor Details
-
Charset
public Charset()
-
-
Method Details
-
charset
转换为Charset对象- Parameters:
charsetName- 字符集,为空则返回默认字符集- Returns:
- Charset
- Throws:
UnsupportedCharsetException- 编码不支持
-
parse
解析字符串编码为Charset对象,解析失败返回系统默认编码- Parameters:
charsetName- 字符集,为空则返回默认字符集- Returns:
- Charset
-
parse
解析字符串编码为Charset对象,解析失败返回默认编码- Parameters:
charsetName- 字符集,为空则返回默认字符集defaultCharset- 解析失败使用的默认编码- Returns:
- Charset
-
convert
转换字符串的字符集编码- Parameters:
source- 字符串srcCharset- 源字符集,默认ISO-8859-1destCharset- 目标字符集,默认UTF-8- Returns:
- 转换后的字符集
-
convert
转换字符串的字符集编码 当以错误的编码读取为字符串时,打印字符串将出现乱码。 此方法用于纠正因读取使用编码错误导致的乱码问题。 例如,在Servlet请求中客户端用GBK编码了请求参数,我们使用UTF-8读取到的是乱码,此时,使用此方法即可还原原编码的内容客户端 - GBK编码 - Servlet容器 - UTF-8解码 - 乱码 乱码 - UTF-8编码 - GBK解码 - 正确内容
- Parameters:
source- 字符串srcCharset- 源字符集,默认ISO-8859-1destCharset- 目标字符集,默认UTF-8- Returns:
- 转换后的字符集
-
convert
转换文件编码 此方法用于转换文件编码,读取的文件实际编码必须与指定的srcCharset编码一致,否则导致乱码- Parameters:
file- 文件srcCharset- 原文件的编码,必须与文件内容的编码保持一致destCharset- 转码后的编码- Returns:
- 被转换编码的文件
-
systemCharsetName
系统字符集编码,如果是Windows,则默认为GBK编码,否则取defaultCharsetName()- Returns:
- 系统字符集编码
- See Also:
-
systemCharset
系统字符集编码,如果是Windows,则默认为GBK编码,否则取defaultCharsetName()- Returns:
- 系统字符集编码
- See Also:
-
defaultCharsetName
系统默认字符集编码- Returns:
- 系统字符集编码
-
defaultCharset
系统默认字符集编码- Returns:
- 系统字符集编码
-
detect
探测编码 注意:此方法会读取流的一部分,然后关闭流,如重复使用流,请使用使用支持reset方法的流- Parameters:
in- 流,使用后关闭此流charsets- 需要测试用的编码,null或空使用默认的编码数组- Returns:
- 编码
- See Also:
-
detect
探测编码 注意:此方法会读取流的一部分,然后关闭流,如重复使用流,请使用使用支持reset方法的流- Parameters:
bufferSize- 自定义缓存大小,即每次检查的长度in- 流,使用后关闭此流charsets- 需要测试用的编码,null或空使用默认的编码数组- Returns:
- 编码
- See Also:
-
newEncoder
创建一个新的CharsetEncoder实例,配置指定的字符集和错误处理策略。- Parameters:
charset- 指定的字符集,不允许为null。action- 对于不合法的字符或无法映射的字符的处理策略,不允许为null- Returns:
- 配置好的CharsetEncoder实例
-
newDecoder
创建一个新的CharsetDecoder实例,配置指定的字符集和错误处理行为。- Parameters:
charset- 指定的字符集,不允许为null。action- 当遇到不合法的字符编码或不可映射字符时采取的行动,例如忽略、替换等。- Returns:
- 配置好的CharsetDecoder实例,用于解码字符。
-