| | |
| | | package com.ruoyi.common.core.text;
|
| | |
|
| | | import java.nio.charset.Charset;
|
| | | import java.nio.charset.StandardCharsets;
|
| | | import com.ruoyi.common.utils.StringUtils;
|
| | |
|
| | | /**
|
| | | * 字符集工具类
|
| | | * |
| | | * @author ruoyi
|
| | | */
|
| | | public class CharsetKit
|
| | | {
|
| | | /** ISO-8859-1 */
|
| | | public static final String ISO_8859_1 = "ISO-8859-1";
|
| | | /** UTF-8 */
|
| | | public static final String UTF_8 = "UTF-8";
|
| | | /** GBK */
|
| | | public static final String GBK = "GBK";
|
| | |
|
| | | /** ISO-8859-1 */
|
| | | public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1);
|
| | | /** UTF-8 */
|
| | | public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8);
|
| | | /** GBK */
|
| | | public static final Charset CHARSET_GBK = Charset.forName(GBK);
|
| | |
|
| | | /**
|
| | | * 转换为Charset对象
|
| | | * |
| | | * @param charset 字符集,为空则返回默认字符集
|
| | | * @return Charset
|
| | | */
|
| | | public static Charset charset(String charset)
|
| | | {
|
| | | return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset);
|
| | | }
|
| | |
|
| | | /**
|
| | | * 转换字符串的字符集编码
|
| | | * |
| | | * @param source 字符串
|
| | | * @param srcCharset 源字符集,默认ISO-8859-1
|
| | | * @param destCharset 目标字符集,默认UTF-8
|
| | | * @return 转换后的字符集
|
| | | */
|
| | | public static String convert(String source, String srcCharset, String destCharset)
|
| | | {
|
| | | return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 转换字符串的字符集编码
|
| | | * |
| | | * @param source 字符串
|
| | | * @param srcCharset 源字符集,默认ISO-8859-1
|
| | | * @param destCharset 目标字符集,默认UTF-8
|
| | | * @return 转换后的字符集
|
| | | */
|
| | | public static String convert(String source, Charset srcCharset, Charset destCharset)
|
| | | {
|
| | | if (null == srcCharset)
|
| | | {
|
| | | srcCharset = StandardCharsets.ISO_8859_1;
|
| | | }
|
| | |
|
| | | if (null == destCharset)
|
| | | {
|
| | | srcCharset = StandardCharsets.UTF_8;
|
| | | }
|
| | |
|
| | | if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset))
|
| | | {
|
| | | return source;
|
| | | }
|
| | | return new String(source.getBytes(srcCharset), destCharset);
|
| | | }
|
| | |
|
| | | /**
|
| | | * @return 系统字符集编码
|
| | | */
|
| | | public static String systemCharset()
|
| | | {
|
| | | return Charset.defaultCharset().name();
|
| | | }
|
| | | }
|
| | | package com.ruoyi.common.core.text; |
| | | |
| | | import java.nio.charset.Charset; |
| | | import java.nio.charset.StandardCharsets; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | |
| | | /** |
| | | * 字符集工具类 |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | public class CharsetKit |
| | | { |
| | | /** ISO-8859-1 */ |
| | | public static final String ISO_8859_1 = "ISO-8859-1"; |
| | | /** UTF-8 */ |
| | | public static final String UTF_8 = "UTF-8"; |
| | | /** GBK */ |
| | | public static final String GBK = "GBK"; |
| | | |
| | | /** ISO-8859-1 */ |
| | | public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1); |
| | | /** UTF-8 */ |
| | | public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8); |
| | | /** GBK */ |
| | | public static final Charset CHARSET_GBK = Charset.forName(GBK); |
| | | |
| | | /** |
| | | * 转换为Charset对象 |
| | | * |
| | | * @param charset 字符集,为空则返回默认字符集 |
| | | * @return Charset |
| | | */ |
| | | public static Charset charset(String charset) |
| | | { |
| | | return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset); |
| | | } |
| | | |
| | | /** |
| | | * 转换字符串的字符集编码 |
| | | * |
| | | * @param source 字符串 |
| | | * @param srcCharset 源字符集,默认ISO-8859-1 |
| | | * @param destCharset 目标字符集,默认UTF-8 |
| | | * @return 转换后的字符集 |
| | | */ |
| | | public static String convert(String source, String srcCharset, String destCharset) |
| | | { |
| | | return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset)); |
| | | } |
| | | |
| | | /** |
| | | * 转换字符串的字符集编码 |
| | | * |
| | | * @param source 字符串 |
| | | * @param srcCharset 源字符集,默认ISO-8859-1 |
| | | * @param destCharset 目标字符集,默认UTF-8 |
| | | * @return 转换后的字符集 |
| | | */ |
| | | public static String convert(String source, Charset srcCharset, Charset destCharset) |
| | | { |
| | | if (null == srcCharset) |
| | | { |
| | | srcCharset = StandardCharsets.ISO_8859_1; |
| | | } |
| | | |
| | | if (null == destCharset) |
| | | { |
| | | srcCharset = StandardCharsets.UTF_8; |
| | | } |
| | | |
| | | if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset)) |
| | | { |
| | | return source; |
| | | } |
| | | return new String(source.getBytes(srcCharset), destCharset); |
| | | } |
| | | |
| | | /** |
| | | * @return 系统字符集编码 |
| | | */ |
| | | public static String systemCharset() |
| | | { |
| | | return Charset.defaultCharset().name(); |
| | | } |
| | | } |