欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java 枚举式转码

程序员文章站 2022-04-04 21:54:01
...

web项目中如果统一转码工作(tomcat,spring等)没有做好的话,难免会出现乱码。

网上的各种解决方案,也未必是“对症下药”

所以写了一个小工具来枚举的方式转码,看结果后用对得那个就可以了,简单粗暴!

代码分享出来,有用到的朋友可以省下不少时间

当然如果大家有更好的方法,欢迎讨论

import java.io.UnsupportedEncodingException;

public class CharTools {
	
	/** 枚举的方式将老字符进行转码
	 * @param oldStr
	 * cxy 2014-06-18
	 */
	public static void codeTest(String oldStr)
	{
		String[] oldCode={"GBK","UTF-8","GB2312","ISO-8859-1","BIG5"};
		String[] newCode={"GBK","UTF-8","GB2312","ISO-8859-1","BIG5"};
		System.out.println("=====================");
		System.out.println("原字符:"+oldStr);
		
		try {
			for(String one : oldCode)
			{
				for(String one1 : newCode)
				{
					System.out.println(one+" to "+one1+"------"+new String(oldStr.getBytes(one),one1));
				}
				//下面是针对前台encodeURIComponent的数据
				System.out.println("URLDecoder("+one+")"+ java.net.URLDecoder.decode(oldStr, one));
			}
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		System.out.println("=====================");
	}
	
	public static void main(String[] args) {
		CharTools.codeTest("中文");
	}

}

 有2个数组,列举了常用的编码,有需要可以自己添加。

相关标签: java 编码