我现在试图从一串二进制数字当中(如111100101010101010,从图片文件读取出来的)分离出8个一组如 第一组11110010, 第二组10101010,然后分别对这两组的位进行处理,如把第一组变成01010101,再重新组合成二进制流,保存成图像文件,要怎么办???以后有分了再发,谢谢

解决方案 »

  1.   

    java没有现成的二进制类,不过可以转换成int再进行位操作。
      

  2.   

    呵呵。写了一个简单的,你自己看看。
    public class BitTester {    public static int getValue(char[] bits) {
            int value = 0;
            if (bits.length > 8) return value;
            for (int i = 0; i < bits.length; i++) {
                int bitValue = Integer.parseInt(String.valueOf(bits[i]));
                value =  (value <<1) +bitValue;
            }
            return value;
        }    public static char[] getBits(int value) {
            if (value < 0) return null;
            StringBuffer stringBuffer = new StringBuffer();
            do {            
                stringBuffer.insert(0,value%2);
                value = (value >>1);
            } while (value > 0);
            return stringBuffer.toString().toCharArray();
        }    public static void main(String[] args) {
            String source = "11110010";
            char[] bits = source.toCharArray();
            int value = BitTester.getValue(bits);
            System.out.println(value);
            System.out.println(BitTester.getBits(value));
        }}