Страницы

Поиск по вопросам

четверг, 13 декабря 2018 г.

Перевод char или String в двоичный код (Java)

Ребят, вопрос, в принципе, не такой и сложный, однако, я гуглил, но не нашел толкового ответа. Как в Java перевести символ (char или даже лучше String) в двоичный код? То есть дана строка Str = "abс";, нужно перевести её в тот же стринг, но уже двоичным кодом: 1100001 1100010 11010001 10000001


Ответ

Для этого есть готовый метод:
String a = Integer.toBinaryString('a'); System.out.println(a);
Выведет на экран:
1100001
Соответственно, если необходимо перевести целую строку в двоичный код, а не отдельный символ, можно написать для этого свой метод, например:
public String stringToBinary(String s) {
StringBuilder answer = new StringBuilder();
for (int i = 0; i < s.length(); i++) { char c = s.charAt(i);
answer.append(Integer.toBinaryString(c)).append(' '); }
return answer.toString(); }
Более красивое решение на Java 8:
public String stringToBinary(String s) { return s .chars() .collect(StringBuilder::new, (sb, c) -> sb.append(Integer.toBinaryString(c)).append(' '), StringBuilder::append) .toString(); }

Комментариев нет:

Отправить комментарий