code: function decodefield(str) {
    var match = extValueRegExp.exec(str)
  
    if (!match) {
      throw new TypeError('invalid extended field value')
    }
  
    var charset = match[1].toLowerCase()
    var encoded = match[2]
    var value
  
    // to binary string
    var binary = encoded.replace(hexEscapeReplaceRegExp, pdecode)
  
    switch (charset) {
      case 'iso-8859-1':
        value = getlatin1(binary)
        break
      case 'utf-8':
        value = new Buffer(binary, 'binary').toString('utf8')
        break
      default:
        throw new TypeError('unsupported charset in extended field')
    }
  
    return value
  }
docs: Decode a RFC 6987 field value (gracefully).
  
  @param {string} str
  @return {string}
  @api private