`
huangzhir
  • 浏览: 125108 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

破解小米电视背面 散热孔的含义

阅读更多

小米电视背面散热孔用一组01的二进制表示一个汉字。今天就来解密一下,看表示什么。

//2进制转成汉字
	public static String from2xToString(String x2String,String encode) throws UnsupportedEncodingException{
		//System.out.println(x2String);
		int a1=Integer.valueOf(x2String.split(" ")[0], 2);
		int a2=Integer.valueOf(x2String.split(" ")[1], 2);
	    return new String(new byte[]{(byte) a1,(byte) a2},encode); 
	}

	//二进制字符串0和1互转 ,有时候1和0 表示可以相反的意思,用这个方法转一下
	private static String x2reverse(String x2String) {
		StringBuilder sb=new StringBuilder();
		for(char c:x2String.toCharArray()){
			if(c=='0') sb.append('1') ;
			else if(c=='1') sb.append('0');
			else sb.append(c);
		}
		return sb.toString();
	}

	public static void main(String[] args) throws UnsupportedEncodingException {
		String allStr="00101111 01011110;"+
					  "00111100 00101000;"+
					  "01001010 00011000;"+
					  "00110101 00101100;"+
					  "00110001 01010101;"+
					  "01001000 01011101;"+
					  "00110110 00101010;"+
					  "01001001 00000111;"+
					  "00110110 00000101;";
	   String[] x2StrArray=allStr.split(";");
	   for(String str:x2StrArray){
		   System.out.print(from2xToString(x2reverse(str.replaceAll(";", "")),"GBK"));
	   }
	}


因为看时候以为中间有个横线表示1,其实表示0,所以用x2reverse转换了一下!
好了,跑出的结果是:
小米电视为发烧而生

下面的散热孔表示的是"小 米","电 视",有个只有8个孔的表示的是空格!
0
0
分享到:
评论
1 楼 white_crucifix 2013-10-27  
……这也行

相关推荐

Global site tag (gtag.js) - Google Analytics