Невозможно преобразовать массив байтов в исходный текст
Я работаю над проектом 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);
}