@pqgg7nwkd4

Как оптимально в Java конвертировать в байты один символ (char)?

Нужен оптимальный эквивалент указанной ниже функции:
/**
 Записывает символ в буфер в указанной кодировке.

 @param charToEncode Символ для кодирования
 @param buffer Буфер, в который будет добавлен символ в кодировке charset
 @param position Положение в буфере с которого начнется вставка
 @param charset Кодировка
 @return Количество байт, которое занимает указанный символ в указанной кодировке
 */
private static int encodeCharToBytes(char charToEncode, byte[] buffer, int position, Charset charset) {
    byte[] tempBytes = Character.toString(charToEncode).getBytes(charset);
    System.arraycopy(tempBytes, 0, buffer, position, tempBytes.length);
    return tempBytes.length;
}

Планируется ее использовать в цикле и не хочется на каждую итерацию создавать строку и массив байт.

P.S. В указанной функции нет проверки на переполнение, но мне нужна сама суть, проверку я допилю.
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
@jkotkot
режим сарказма
Если прямо в цикле, то в строку их запихните или в массив и конвертируйте пачкой.
Ну а так прямо у вас реально узкое место тут или вам кажется, что узкое?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы