public void toBinary(){ String str = "王雪"; char[] strChar=str.toCharArray(); String result=""; for(int i=0;i<strChar.length;i++){ result +=Integer.toBinaryString(strChar[i])+ " "; } System.out.println(result); }
输出结果为:111001110001011 1001011011101010
Java将二进制码转成字符串
//将二进制字符串转换成int数组 public int[] BinstrToIntArray(String binStr) { char[] temp=binStr.toCharArray(); int[] result=new int[temp.length]; for(int i=0;i<temp.length;i++) { result[i]=temp[i]-48; } return result; } //将二进制转换成字符 public char BinstrToChar(String binStr){ int[] temp=BinstrToIntArray(binStr); int sum=0; for(int i=0; i<temp.length;i++){ sum +=temp[temp.length-1-i]<<i; } return (char)sum; } public void BinstrToStr(){ String binStr = "111001110001011 1001011011101010 "; String[] tempStr=binStr.split(" "); char[] tempChar=new char[tempStr.length]; for(int i=0;i<tempStr.length;i++) { tempChar[i]=BinstrToChar(tempStr[i]); } System.out.println(String.valueOf(tempChar)); }
根据Unicode码表,将二进制码转换成字符
1、先将二进制转换成十六进制
111001110001011 -->0111 0011 1000 1011 不够四位则高位补零(左边) -->0x738b
1001011011101010 -->1001 0110 1110 1010 -->0x96ea。然后查Unicode码表可得对应字符
时间: 2024-10-29 10:46:45