Преобразование Java из байта [] в символ [] - PullRequest
0 голосов
/ 01 ноября 2019

Я написал простой фрагмент, в котором я пытаюсь преобразовать (может быть) байтовый массив в массив символов и наоборот. В сети много примеров, но для меня это самый простой способ сделать это. Мне нужно использовать массив, а не строки, потому что его содержимое - это поле пароль для управления.

Итак, я спрашиваю вас, правильный ли этот фрагмент кода?

private static char[] fromByteToCharArrayConverter(byte[] byteArray){
    ByteBuffer buffer = ByteBuffer.wrap(byteArray);
    clearArray(byteArray);
    CharBuffer charBuffer = Charset.forName("UTF-8").decode(buffer);

    char[] charArray = new char[charBuffer.remaining()];
    charBuffer.get(charArray);  

    return charArray;
}

private static byte[] fromCharToByteArray(char[] charArray){
    CharBuffer charBuffer = CharBuffer.wrap(charArray);
    ByteBuffer byteBuffer = Charset.forName("UTF-8").encode(charBuffer);

    byte[] byteArray = new byte[byteBuffer.remaining()];
    byteBuffer.get(byteArray);

    return byteArray;
}

Спасибо

1 Ответ

0 голосов
/ 01 ноября 2019

Нет, это не сработает (по крайней мере) по следующей причине:

ByteBuffer buffer = ByteBuffer.wrap(byteArray);  // Wrap the array
clearArray(byteArray);  // Clear the array -> ByteBuffer cleared too
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...