2012-02-20 9 views
0

Я пытаюсь поставить буфер строки в ByteBuffer ..Положите StringBuffer в ByteBuffer

out.put(ss); 

где из является ByteBuffer и сс является StringBuffer. Есть ли простой способ сделать это? Предполагая кодировку ASCII для строки.

Благодаря

ответ

2
StringBuffer buf = ...; 
byte[] bytes = buf.toString().getBytes("US-ASCII"); 

или, возможно, "ISO-8859-1"

+0

загрязняют ли это 'String' пространство в Java? Я слышал, что это может быть плохо по соображениям памяти; вызывая «toString» на больших байтовых буферах (много MB), мы вынуждаем эти строки жить вечно в JVM. Я это делаю? Есть ли все равно, чтобы перейти прямо от StringBuffer к Bytes? –

Смежные вопросы