更正一下,在数据库里的类型也是为byte的,而非binary。

解决方案 »

  1.   


    //将字符串转换成二进制字符串,以空格相隔
        public String toBinary(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 String toStr(String binStr){
            String[] tempStr = StrToStrArray(binStr);
            char[] tempChar = new char[tempStr.length];
            for(int i = 0; i < tempStr.length; i++){
                tempChar[i] = toChar(tempStr[i]);
            }
            return String.valueOf(tempChar);
        }
        //将二进制字符串转换为char
        private char toChar(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;
            
        }
        //将初始二进制字符串转换成字符串数组,以空格相隔
        private String[] StrToStrArray(String str){
            return str.split(" ");
        }
            //将二进制字符串转换成int数组
        private 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;
            
        }