pub fn parse_extended_value(val: &str) -> Result<ExtendedValue, ParseError>Expand description
Parses extended header parameter values (ext-value), as defined
in RFC 5987 §3.2.
Extended values are denoted by parameter names that end with *.
§ABNF
ext-value     = charset  "'" [ language ] "'" value-chars
              ; like RFC 2231's <extended-initial-value>
              ; (see [RFC 2231 §7])
charset       = "UTF-8" / "ISO-8859-1" / mime-charset
mime-charset  = 1*mime-charsetc
mime-charsetc = ALPHA / DIGIT
              / "!" / "#" / "$" / "%" / "&"
              / "+" / "-" / "^" / "_" / "`"
              / "{" / "}" / "~"
              ; as <mime-charset> in [RFC 2978 §2.3]
              ; except that the single quote is not included
              ; SHOULD be registered in the IANA charset registry
language      = <Language-Tag, defined in [RFC 5646 §2.1]>
value-chars   = *( pct-encoded / attr-char )
pct-encoded   = "%" HEXDIG HEXDIG
              ; see [RFC 3986 §2.1]
attr-char     = ALPHA / DIGIT
              / "!" / "#" / "$" / "&" / "+" / "-" / "."
              / "^" / "_" / "`" / "|" / "~"
              ; token except ( "*" / "'" / "%" )