Все ответы, основанные на String.getBytes (), включают кодировку вашей строки в соответствии с Charset. Вы не обязательно получите шестнадцатеричное значение 2-байтовых символов , составляющих вашу строку. Если то, что вы на самом деле хотите, является эквивалентом шестнадцатеричной программы просмотра, то вам необходимо получить прямой доступ к символам. Вот функция, которую я использую в своем коде для отладки проблем Unicode:
static String stringToHex(String string) {
StringBuilder buf = new StringBuilder(200);
for (char ch: string.toCharArray()) {
if (buf.length() > 0)
buf.append(' ');
buf.append(String.format("%04x", (int) ch));
}
return buf.toString();
}
Затем stringToHex ("testing123") выдаст вам:
0074 0065 0073 0074 0069 006e 0067 0031 0032 0033