public class Message {
public static void main(String[] args) {
String str = "u:流6";
String binary = toBinary(str);
System.out.println(str);
System.out.println(binary);
System.out.println(toString(binary));
}
public static String toBinary(String str){
//把字符串转成字符数组
char[] strChar=str.toCharArray();
String result="";
for(int i=0;i<strChar.length;i++){
String result_m = Integer.toBinaryString(strChar[i]);
int resultm_length = result_m.length();
if(resultm_length < 16) {
for(int j=0; j< 16-resultm_length; j++) {
result_m = "0" + result_m;
}
}
result += result_m;
}
return result;
}
public static String toString(String binary) {
int num = binary.length() / 16;
String[] tempStr = new String[num];
int beginIndex = 0;
int endIndex = 16;
for(int i=0; i<num; i++) {
tempStr[i] = binary.substring(beginIndex, endIndex);
beginIndex = endIndex;
endIndex += 16;
}
char[] tempChar=new char[tempStr.length];
for(int i=0;i<tempStr.length;i++) {
tempChar[i]=BinstrToChar(tempStr[i]);
}
return String.valueOf(tempChar);
}
//将二进制转换成字符
public static 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;
}
//将二进制字符串转换成int数组
public static 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; //char变为int
}
return result;
}
}
Java中String与二进制码的相互转换
最新推荐文章于 2024-07-27 04:45:26 发布