Невозможно преобразовать массив байтов в исходный текст

Я работаю над проектом Bluetooth, где я отправляю файлы с одного устройства Android на другое. На стороне сервера я получаю файл и данные. но данные записываются в файл в байтовом формате. Я хочу написать оригинальный текст в файл. Такие методы, как toString(), new String(byte[]) и т. Д. Не работают. Пожалуйста, кто-нибудь может мне помочь с этим. Я попробовал почти каждый код, приведенный на этом сайте, в качестве ответа на такие вопросы.

Заранее спасибо.

1 ответ

proper conversion между byte[] а также String это явно указать кодировку, которую вы хотите использовать. Если вы начнете с byte[] и он на самом деле не содержит текстовых данных, нет правильного преобразования. Strings для текста, byte[] для двоичных данных, и единственное, что действительно разумно сделать, - это избегать конвертации между ними, если только вам это не нужно.

Лучший способ конвертировать bytearray в String - это

public void convertByteArrayToString(Charset encoding) {

    byte[] byteArray = new byte[] {10, 20, 30, 40, 50, 60};

    String value = new String(byteArray, encoding);

    System.out.println(value);
}
Другие вопросы по тегам