- Не всякая комбинация битов/байтов может быть представлена как строка
- Представление битов в строку зависит от кодировки строки. Один и тот же байт может быть представлен разными символом - соглашение об этом как раз и называется кодировкой
Судя по всему речь идет об Android - там кодировка по умолчанию UTF-8. Преобразование массива байтов в строку делается так:
public static String byteArrayToString(byte[] buf)
{
try
{
return new String(buf, ENCODING);
}
catch (UnsupportedEncodingException ex)
{
return null;
}
}
ENCODING="UTF-8" - для Android или же можно просто вызывать new String(buf) - тогда будет применяться кодировка по умолчанию.
Update
Если требуется записать байты строкой, то поможет такой методочек:
public static String bytesToHex(byte[] array)
{
char[] val = new char[2*array.length];
String hex = "0123456789ABCDEF";
for (int i = 0; i < array.length; i++)
{
int b = array[i] & 0xff;
val[2*i] = hex.charAt(b >>> 4);
val[2*i + 1] = hex.charAt(b & 15);
}
return String.valueOf(val);
}
Object[]? Сначала прочитай – Qwertiy Sep 28 '15 at 09:28