Как преобразовать строку в байт в Java? - PullRequest
0 голосов
/ 31 августа 2011

Как сделать строку "01001000" (например) в байтах и ​​преобразовать ее в строку.

Пример:

если строка = "0110000101100010", тогда выход должен быть "ab"

, потому что a == 01100001 и b == 01100010

Ответы [ 2 ]

4 голосов
/ 31 августа 2011

как то так:

      String[] array = {"01100001","01100010"};
      StringBuilder sb = new StringBuilder();
      for( String string : array ) {
          sb.append( (char)Integer.parseInt( string, 2 ) );
      }

или если у вас есть одна строка с точной 8-битной * x буквой.

    String source = "0110000101100010";
    StringBuilder sb = new StringBuilder();
    for( int i = 0; i < source.length(); i= i+8 ) {
        sb.append( (char)Integer.parseInt( source.substring( i, i+8 ), 2 ) );
    }
1 голос
/ 31 августа 2011
StringBuilder sb = new StringBuilder();
for(String str : "0110000101100010".split("(?<=\\G.{8})")){
    sb.append((char)Byte.parseByte(str,2));
}
System.out.println(sb.toString());

Будет выводить -> ab

...