Как преобразовать CharBuffer
в ByteBuffer
? Есть ли простой способ сделать это?Конвертировать CharBuffer в ByteBuffer
С другой стороны, можно получить CharBuffer
от ByteBuffer
по телефону ByteBuffer.asCharBuffer()
.
EDIT:
Самый простой способ, который я знаю, получаю ByteBuffer
через Charset.encode(CharBuffer cb)
Но я надеялся, что там была более прямой путь, то есть просто получить основной массив байтов, используемый для хранения фактических символов , без какой-либо кодировки.
EDIT 2: Это просто произошло со мной, что CharBuffer хранит свои данные во внутреннем char[]
и не byte[]
поэтому нет основной byte[]
.
Чтобы установить его прямо, он не создает «CharBuffer», он создает представление «CharBuffer» для оставшейся части «ByteBuffer». –
Вы можете написать обратно в ByteBuffer через представление «CharBuffer». Интересно, если это дает вам то, что вы хотите? Возможно, вам стоит попытаться объяснить на более высоком уровне то, что вы пытаетесь получить, и почему вы задаете вопрос. –
Это не мое домашнее поле, поэтому я мог бы ошибаться: 'ByteBuffer.wrap (yourCharBuffer.toString(). GetBytes())'? Вы можете опционально передать 'CharSet' или имя набора символов в' getBytes() 'для управления кодировкой символов. –