Буферизировать в строку?

В чем преимущество метода 1 перед 2 для целей декодирования строк?

Способ 1:

const { StringDecoder } = require('string_decoder')
const decoder = new StringDecoder('utf-8')
let body = ''
req.on('data', data => {
  body += decoder.write(data)
})

Способ 2:

let body = ''
req.on('data', data => {
  body += data.toString()
})

person Developer K    schedule 19.04.2018    source источник


Ответы (1)


Если у вас есть первый байт многобайтового символа UTF8, который может содержаться в первом буфере (чанке), а второй байт во втором буфере, вам следует использовать StringDecoder.

Ссылка: преобразование потоковых буферов в строку utf8

person Joushua Hung    schedule 22.04.2018
comment
Спасибо, сэр, я понял! - person Developer K; 22.04.2018