package mimaxue;
public class StrBinaryTurn {
//将Unicode字符串转换成bool型数组
public
boolean[] StrToBool(String input){
boolean[]
output=Binstr16ToBool(BinstrToBinstr16(StrToBinstr(input)));
return output;
}
//将bool型数组转换成Unicode字符串
public
String BoolToStr(boolean[] input){
String
output=BinstrToStr(Binstr16ToBinstr(BoolToBinstr16(input)));
return output;
}
//将字符串转换成二进制字符串,以空格相隔
private
String StrToBinstr(String str) {
char[] strChar=str.toCharArray();
String result="";
for(int i=0;i<strChar.length;i++){
result +=Integer.toBinaryString(strChar[i])+ " ";
}
return result;
}
//将二进制字符串转换成Unicode字符串
private
String BinstrToStr(String binStr) {
String[] tempStr=StrToStrArray(binStr);
char[] tempChar=new char[tempStr.length];
for(int i=0;i<tempStr.length;i++) {
tempChar[i]=BinstrToChar(tempStr[i]);
}
return String.valueOf(tempChar);
}
//将二进制字符串格式化成全16位带空格的Binstr
private
String BinstrToBinstr16(String input){
StringBuffer output=new StringBuffer();
String[] tempStr=StrToStrArray(input);
for(int i=0;i<tempStr.length;i++){
for(int j=16-tempStr[i].length();j>0;j--)
output.append('0');
output.append(tempStr[i]+" ");
}
return output.toString();
}
|