/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.core.util;
import java.io.UnsupportedEncodingException;
import com.jinhe.tss.core.exception.BusinessException;
/**
* 字符串工具类:
* <li>字符串转码工具:将字符串的编码进行转换(默认为GBK转UTF-8)
* </p>
*/
public class StringUtil {
/**
* <p>
* 转换字符串编码方式
* </p>
*
* @param str
* @param oldCharset
* @param charset
* @return
*/
public static String convertCoding(String str, String oldCharset, String charset) {
byte[] bytes;
try {
bytes = str.getBytes(oldCharset);
} catch (UnsupportedEncodingException e1) {
throw new BusinessException("字符串编码转换失败,不支持的编码方式:" + oldCharset, e1);
}
try {
return new String(bytes, charset);
} catch (UnsupportedEncodingException e) {
throw new BusinessException("字符串编码转换失败,不支持的编码方式:" + charset, e);
}
}
/**
* GBK格式字符串转UTF-8格式
*/
public static String gbk2Utf8(String str) {
return convertCoding(str, "GBK", "UTF-8");
}
/**
* UTF-8格式字符串转GBK格式
*/
public static String utf82Gbk(String str) {
return convertCoding(str, "UTF-8", "GBK");
}
public static void main(String[] args) {
String str = "Portletyyy~!@#$%^&*()_+-=[]{}\\|;':\",./<>?原型实现模型訾鄣迂蟓";
System.out.println(str);
System.out.println(gbk2Utf8(utf82Gbk(str)));
System.out.println(utf82Gbk(gbk2Utf8(str)));
}
}