Java将字符串转成二进制码
Posted StanLong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java将字符串转成二进制码相关的知识,希望对你有一定的参考价值。
Java将字符串转成二进制码
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码表可得对应字符
以上是关于Java将字符串转成二进制码的主要内容,如果未能解决你的问题,请参考以下文章
java 如何将“你好”转成UTF-8 “\u4F60\u597D” 这种编码