Java-恢复乱码

1.console打印结果

先按照windows-1252获取字符串的二进制:[B@7fbe847c,然后按GB18030编码解读这个二进制,得到一个新的字符串:老马
先按照windows-1252获取字符串的二进制:[B@c2e1f26,然后按Big5编码解读这个二进制,得到一个新的字符串:橾鎮
先按照windows-1252获取字符串的二进制:[B@dcf3e99,然后按UTF-8编码解读这个二进制,得到一个新的字符串:����
先按照GB18030获取字符串的二进制:[B@75a1cd57,然后按windows-1252编码解读这个二进制,得到一个新的字符串:�0†8�0ˆ3�0‡0¨ª
先按照GB18030获取字符串的二进制:[B@3d012ddd,然后按Big5编码解读这个二进制,得到一个新的字符串:�0�8�0�3�0�0赤
先按照GB18030获取字符串的二进制:[B@6f2b958e,然后按UTF-8编码解读这个二进制,得到一个新的字符串:�0�8�0�3�0�0��
先按照Big5获取字符串的二进制:[B@1eb44e46,然后按windows-1252编码解读这个二进制,得到一个新的字符串:????
先按照Big5获取字符串的二进制:[B@6504e3b2,然后按GB18030编码解读这个二进制,得到一个新的字符串:????
先按照Big5获取字符串的二进制:[B@515f550a,然后按UTF-8编码解读这个二进制,得到一个新的字符串:????
先按照UTF-8获取字符串的二进制:[B@626b2d4a,然后按windows-1252编码解读这个二进制,得到一个新的字符串:ÀÃ�Âí
先按照UTF-8获取字符串的二进制:[B@5e91993f,然后按GB18030编码解读这个二进制,得到一个新的字符串:脌脧脗铆
先按照UTF-8获取字符串的二进制:[B@1c4af82c,然后按Big5编码解读这个二进制,得到一个新的字符串:���穩

2.Java代码

package com.example.demo;





/**
 * @Description 
 * @author 大都督
 * @date 2018年12月29日
 */
public class Test {

	public static void main(String[] args) throws Exception {
		String str = "ÀÏÂí";
		recover(str);
	}

	/** 
	* @Title: recover 
	* @Description: 恢复乱码 
	* @param str 
	* @author 大都督
	* @date 2019年2月17日
	* @return void
	 * @throws Exception 
	*/
	private static void recover(String str) throws Exception {
		String[] charsets = new String[]{"windows-1252", "GB18030", "Big5", "UTF-8"};
		for (int i=0; i

你可能感兴趣的:(后端)