Java字符串转成二进制码的方法

时间:2021-08-31 10:09:28

Java字符串转成二进制码,具体内容如下

?
1
2
3
4
5
6
7
8
9
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将二进制码转成字符串

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//将二进制字符串转换成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码表可得对应字符

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。