代码之家  ›  专栏  ›  技术社区  ›  Developer K

缓冲区到字符串?

  •  0
  • Developer K  · 技术社区  · 7 年前

    对于字符串解码而言,方法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()
    })
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Joushua Hung    7 年前

    如果多字节UTF8字符的第一个字节可能包含在第一个缓冲区(块)中,第二个字节可能包含在第二个缓冲区中,则应使用 StringDecoder.

    参考号: convert streamed buffers to utf8-string