Ребят, вопрос, в принципе, не такой и сложный, однако, я гуглил, но не нашел толкового ответа. Как в 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();
}
Комментариев нет:
Отправить комментарий