现在的位置: 首页 > 综合 > 正文

Java字符串编码

2013年12月11日 ⁄ 综合 ⁄ 共 2179字 ⁄ 字号 评论关闭
import java.io.UnsupportedEncodingException;

/** 
 * 转换字符串的编码 
 */ 
public class ChangeCharset { 
	/** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */ 
	public static final String US_ASCII = "US-ASCII"; 
	/** ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1 */ 
	public static final String ISO_8859_1 = "ISO-8859-1"; 
	/** 8 位 UCS 转换格式 */ 
	public static final String UTF_8 = "UTF-8"; 
	/** 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节)字节顺序 */
	public static final String UTF_16BE = "UTF-16BE"; 
	/** 16 位 UCS 转换格式,Little-endian(最高地址存放低位字节)字节顺序 */ 
	public static final String UTF_16LE = "UTF-16LE"; 
	/** 16 位 UCS 转换格式,字节顺序由可选的字节顺序标记来标识 */ 
	public static final String UTF_16 = "UTF-16"; 
	/** 中文超大字符集 */ 
	public static final String GBK = "GBK"; 
	
	/** 
	 * 字符串编码转换的实现方法 
	 * @param str 待转换编码的字符串 
	 * @param newCharset 目标编码来源:考试大的美女编辑们 
	 * @return 
	 * @throws UnsupportedEncodingException 
	 */ 
	public String changeCharset(String str, String newCharset) 
			throws UnsupportedEncodingException { 
		if (str != null) { 
			//用默认字符编码解码字符串。 
			byte[] bs = str.getBytes(); 
			//用新的字符编码生成字符串 
			return new String(bs, newCharset); 
		} 
		return null; 
	} 
	/** 
	 * 字符串编码转换的实现方法 
	 * @param str 待转换编码的字符串 
	 * @param oldCharset 原编码 
	 * @param newCharset 目标编码来源:考试大的美女编辑们 
	 * @return 
	 * @throws UnsupportedEncodingException 
	 */ 
	public String changeCharset(String str, String oldCharset, String newCharset) 
			throws UnsupportedEncodingException { 
		if (str != null) { 
			//用旧的字符编码解码字符串。解码可能会出现异常。 
			byte[] bs = str.getBytes(oldCharset); 
			//用新的字符编码生成字符串 
			return new String(bs, newCharset); 
		} 
		return null; 
	} 
	
	/** 
	 * 将字符编码转换成US-ASCII码 
	 */ 
	public String toASCII(String str) throws UnsupportedEncodingException{ 
		return this.changeCharset(str, US_ASCII); 
	} 
	/** 
	 * 将字符编码转换成ISO-8859-1码 
	 */ 
	public String toISO_8859_1(String str) throws UnsupportedEncodingException{ 
		return this.changeCharset(str, ISO_8859_1); 
	} 
	/** 
	 * 将字符编码转换成UTF-8码 
	 */ 
	public String toUTF_8(String str) throws UnsupportedEncodingException{ 
		return this.changeCharset(str, UTF_8); 
	} 
	/** 
	 * 将字符编码转换成UTF-16BE码 
	 */ 
	public String toUTF_16BE(String str) throws UnsupportedEncodingException{ 
		return this.changeCharset(str, UTF_16BE); 
	} 
	/** 
	 * 将字符编码转换成UTF-16LE码 
	 */ 
	public String toUTF_16LE(String str) throws UnsupportedEncodingException{ 
		return this.changeCharset(str, UTF_16LE); 
	} 
	/** 
	 * 将字符编码转换成UTF-16码来源:www.examda.com 
	 */ 
	public String toUTF_16(String str) throws UnsupportedEncodingException{ 
		return this.changeCharset(str, UTF_16); 
	}
	/** 
	 * 将字符编码转换成GBK码 
	 */ 
	public String toGBK(String str) throws UnsupportedEncodingException{ 
		return this.changeCharset(str, GBK); 
	} 
}

抱歉!评论已关闭.