def decode_header(header_str): """Takes an unicode string representing a munged header value and decodes it as a (possibly non-ASCII) readable value.""" parts = [] for v, enc in _email_decode_header(header_str): if isinstance(v, bytes): parts.append(v.decode(enc or "ascii")) else: parts.append(v) return " ".join(parts)
def decode_header(header_str): """Takes an unicode string representing a munged header value and decodes it as a (possibly non-ASCII) readable value.""" parts = [] for v, enc in _email_decode_header(header_str): if isinstance(v, bytes): parts.append(v.decode(enc or 'ascii')) else: parts.append(v) return ''.join(parts)
def decode_header(header): """ Decode a MIME-encoded header value """ l = [] for s, charset in _email_decode_header(header): if charset: s = str(s, charset) elif isinstance(s, bytes): s = str(s, 'utf-8') l.append(s) return ''.join(l)
def decode_parameter_value(value: AnyStr): """Decodes strings like '=?UTF-8?Q?' into human readable string :param value: bytes :return: """ if not value: return '' if isinstance(value, (bytes, bytearray)): value = value.decode() res = [] for part, enc in _email_decode_header(value): if isinstance(part, bytes): if not enc: enc = 'utf-8' res.append(part.decode(enc, errors='replace')) else: res.append(part) return ''.join(res)