• Binary to String


    public class BinaryConverter {
    	// 将字符串转换成二进制字符串,以空格相隔
    	public static String stringToBinaryString(String str) {
    		char[] strChar = str.toCharArray();
    		String result = "";
    		for (int i = 0; i < strChar.length; i++) {
    			result += Integer.toBinaryString(strChar[i]) + " ";
    		}
    		return result;
    	}
    
    	// 将二进制字符串转换成Unicode字符串
    	public static String binaryStringToString(String binStr) {
    		String[] tempStr = stringToStringArray(binStr);
    		char[] tempChar = new char[tempStr.length];
    		for (int i = 0; i < tempStr.length; i++) {
    			tempChar[i] = binaryStringToChar(tempStr[i]);
    		}
    		return String.valueOf(tempChar);
    	}
    
    	// 将Unicode字符串转换成bool型数组
    	public static boolean[] stringToBoolean(String input) {
    		boolean[] output = BinaryStringHexToBoolean(binaryStringToBinaryStringHex(binaryStringToString(input)));
    		return output;
    	}
    
    	// 将bool型数组转换成Unicode字符串
    	public static String booleanToString(boolean[] input) {
    		String output = binaryStringToString(binaryStringHexToBinaryString(booleanToBinaryStringHex(input)));
    		return output;
    	}
    
    	// 将二进制字符串格式化成全16位带空格的Binstr
    	public static String binaryStringToBinaryStringHex(String input) {
    		StringBuffer output = new StringBuffer();
    		String[] tempStr = stringToStringArray(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();
    	}
    
    	// 将全16位带空格的Binstr转化成去0前缀的带空格Binstr
    	public static String binaryStringHexToBinaryString(String input) {
    		StringBuffer output = new StringBuffer();
    		String[] tempStr = stringToStringArray(input);
    		for (int i = 0; i < tempStr.length; i++) {
    			for (int j = 0; j < 16; j++) {
    				if (tempStr[i].charAt(j) == '1') {
    					output.append(tempStr[i].substring(j) + " ");
    					break;
    				}
    				if (j == 15 && tempStr[i].charAt(j) == '0')
    					output.append("0" + " ");
    			}
    		}
    		return output.toString();
    	}
    
    	// 二进制字串转化为boolean型数组 输入16位有空格的Binstr
    	public static boolean[] BinaryStringHexToBoolean(String input) {
    		String[] tempStr = stringToStringArray(input);
    		boolean[] output = new boolean[tempStr.length * 16];
    		for (int i = 0, j = 0; i < input.length(); i++, j++)
    			if (input.charAt(i) == '1')
    				output[j] = true;
    			else if (input.charAt(i) == '0')
    				output[j] = false;
    			else
    				j--;
    		return output;
    	}
    
    	// boolean型数组转化为二进制字串 返回带0前缀16位有空格的Binstr
    	public static String booleanToBinaryStringHex(boolean[] input) {
    		StringBuffer output = new StringBuffer();
    		for (int i = 0; i < input.length; i++) {
    			if (input[i])
    				output.append('1');
    			else
    				output.append('0');
    			if ((i + 1) % 16 == 0)
    				output.append(' ');
    		}
    		output.append(' ');
    		return output.toString();
    	}
    
    	// 将二进制字符串转换为char
    	public static char binaryStringToChar(String binStr) {
    		int[] temp = binaryStringToIntArray(binStr);
    		int sum = 0;
    		for (int i = 0; i < temp.length; i++) {
    			sum += temp[temp.length - 1 - i] << i;
    		}
    		return (char) sum;
    	}
    
    	// 将初始二进制字符串转换成字符串数组,以空格相隔
    	public static String[] stringToStringArray(String str) {
    		return str.split(" ");
    	}
    
    	// 将二进制字符串转换成int数组
    	public static int[] binaryStringToIntArray(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;
    	}
    }
    

      

  • 相关阅读:
    Python爬虫初识
    使用Hexo和Github Pages快速搭建个人博客
    jQuery Grid入门指南(2)
    jQuery Grid入门指南(1)
    实习小结(五)--- SSM框架搭建(Maven项目)
    win10开机就占用了50%内存,win10越用越卡
    项目导入The type java.lang.String cannot be resolved. It is indirectly referenced from required is indirectly referenced fr
    eclipse中src以文件夹形式展示,没有以package包形式展示
    Unexpected exception parsing XML document from file [F:meideerpinterfacewebWEB-INFclassesspringspring.xml]; nested exception is java.lang.UnsupportedClassVersionError: Bad version number in .cl
    oracle数据导入dmp
  • 原文地址:https://www.cnblogs.com/songsiyao/p/3482507.html
Copyright © 2020-2023  润新知