一、将中文字符串转换为二进制字符串
1.中文字符串 变成 字符数组
2.将字符数组的每个数组 变成 二进制(强制类型转换)
二、将二进制字符串转换为中文字符串
1.将二进制字符串 分割 为字符串数组
2.将每个字符串 变为 int型 再变为 char型(即中文)
public class StrAndBinary {
public static void main(String[] args){
StrAndBinary sab = new StrAndBinary();
String str = "中国";
System.out.println(sab.strToBinary(str));
String str2 = sab.binaryToStr(sab.strToBinary(str));
System.out.println(str2);
}
<span style="white-space:pre"> </span>//中文字符串转换为二进制
public String strToBinary(String str){
char[] c = str.toCharArray();
String s = "";
for(int i = 0; i < c.length; i++){
int temp = c[i];
s += Integer.toBinaryString(temp)+" ";
}
return s;
}
<span style="white-space:pre"> </span>//二进制字符串转换为中文字符串
public String binaryToStr(String binary){
String[] str = binary.split(" ");
char[] result = new char[str.length];
for(int i = 0; i < str.length; i++){
char[] c = new char[str[i].length()];
int z = 0;
for(int j = 0; j < str[i].length(); j++){
c[j] = str[i].charAt(j);
z += ((c[j] - 48) << (c.length-1-j));
}
result[i] = (char) z;
}
return String.valueOf(result);
}
}