mikhail_dvorkin icon

String to BitSet

mikhail_dvorkin | PRO | 10/20/17 10:08:06 AM UTC | 0 ⭐ | 876 👁️ | Never ⏰ | []
Java |

950 B

|

None

|

0 👍

/

0 👎

import java.util.BitSet;
 
public class HelloWorld {
    public static void main(String[] args) {
        String s = "hello@^@$05oiejfcq3941[u204";
        System.out.println(s);
        BitSet a = stringToBitSet(s);
        System.out.println(a);
        s = bitSetToString(a);
        System.out.println(s);
    }
 
    static String bitSetToString(BitSet a) {
        int length = (a.length() + Character.SIZE - 1)
                / Character.SIZE;
        char[] result = new char[length];
        for (int i = 0; i < length; i++) {
            BitSet character =
                    a.get(Character.SIZE * i,
                    Character.SIZE * (i + 1));
            result[i] = (char)
                    character.toLongArray()[0];
        }
        return new String(result);
    }
 
    private static BitSet stringToBitSet(String s) {
        BitSet a = new BitSet();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            for (int j = 0; j < Character.SIZE; j++) {
                boolean bit = ((c >> j) & 1) > 0;
                a.set(Character.SIZE * i + j, bit);
            }
        }
        return a;
    }
}

Comments