В Java вы можете использовать следующий код для преобразования байтового массива в строку.
new String(bytes, "UTF-8");
этот метод имеет проблемы с файлами размером более 900 КБ.
в моем случае WebService отправляет файл
WebService: File-> Base64-> encrypted string
в Android я хочу получить этот файл:
Android: encrypted string-> decrypted string -> Base64 -> file
У меня проблема с расшифровкой в строке new String (байты, "UTF-8"); для файлов более 900 МБ.
Я хочу реализовать этот метод. Кто-нибудь может дать мне исходный код этого метода?
Если вы игнорируете Charset, легко преобразовать байтовый массив в строку.
for (int i = 0; i < bytes.length; i++) {
myString += (char) byteArray[i];
}
Я беспокоюсь о кодировке.
Кто-нибудь может мне помочь?
редактирование:
Я написал следующий код:
Charset charsetInput = Charset.forName("UTF-8");
CharsetDecoder decoder = charsetInput.newDecoder();
CharBuffer cbuf = decoder.decode(ByteBuffer.wrap(bytes));
String result = cbuf.toString();
Но ничего не изменилось.
В строке 3 приложение неожиданно останавливается.