Bitte lesen Sie zuerst die Kommentare. Diese Antwort zieht wahrscheinlich falsche Schlussfolgerungen aus den richtigen Quellen und muss bearbeitet werden.
Sie können beliebige druckbare ASCII-Zeichen und keine speziellen Zeichen wie ✰ verwenden (was nicht ASCII ist ).
Tipp : Sie können alles in JSON codieren.
Bearbeiten : Möglicherweise zunächst nicht offensichtlich. Die im Header definierte Zeichenkodierung gilt nur für den Antworttext, nicht für den Header selbst. (Als würde es ein Henne-Ei-Problem verursachen.)
Ich möchte die entsprechenden Definitionen alle zusammenzufassen gemäß der Spezifikation durch Penchant verknüpft.
message-header = field-name ":" [ field-value ]
field-name = token
field-value = *( field-content | LWS )
Wir sind also hinter dem Feldwert her .
LWS = [CRLF] 1*( SP | HT )
CRLF = CR LF
CR = <US-ASCII CR, carriage return (13)>
LF = <US-ASCII LF, linefeed (10)>
SP = <US-ASCII SP, space (32)>
HT = <US-ASCII HT, horizontal-tab (9)>
LWS steht für Linear White Space. Im Wesentlichen ist LWS Leerzeichen oder Tabulator, aber Sie können Ihren Feldwert in mehrere Zeilen aufteilen, indem Sie eine neue Zeile vor einem Leerzeichen oder Tabulator beginnen.
Vereinfachen wir es folgendermaßen:
field-value = <any field-content or Space or Tab>
Jetzt sind wir nach Feldinhalten .
field-content = <the OCTETs making up the field-value
and consisting of either *TEXT or combinations
of token, separators, and quoted-string>
OCTET = <any 8-bit sequence of data>
TEXT = <any OCTET except CTLs,
but including LWS>
CTL = <any US-ASCII control character
(octets 0 - 31) and DEL (127)>
token = 1*<any CHAR except CTLs or separators>
separators = "(" | ")" | "<" | ">" | "@"
| "," | ";" | ":" | "\" | <">
| "/" | "[" | "]" | "?" | "="
| "{" | "}" | SP | HT
TEXT ist der allgemeinste und beinhaltet den ganzen Rest - also vergiss den Rest -.
Hier ist der US-ASCII-Zeichensatz (= ASCII)
Wie Sie sehen können, sind alle druckbaren ASCII-Zeichen zulässig.