Leia os comentários primeiro, esta resposta provavelmente tira conclusões erradas das fontes certas, precisa ser editada.
Você pode usar qualquer caractere ASCII para impressão, e nenhum caractere especial como ✰ (que não é ASCII )
Dica : você pode codificar qualquer coisa em JSON.
Editar : pode não ser óbvio a princípio, a codificação de caracteres definida no cabeçalho se aplica apenas ao corpo da resposta, não ao cabeçalho em si. (Isso poderia causar um problema de ovo e galinha.)
Eu gostaria de resumir todas as definições relevantes de acordo com as especificações vinculadas por Penchant.
message-header = field-name ":" [ field-value ]
field-name = token
field-value = *( field-content | LWS )
Então, estamos atrás do valor do campo .
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 significa Linear White Space. Essencialmente, LWS é Espaço ou Tab, mas você pode quebrar o valor do seu campo em várias linhas, iniciando uma nova linha antes de um Espaço ou Tab.
Vamos simplificar para isso:
field-value = <any field-content or Space or Tab>
Agora estamos atrás do conteúdo do campo .
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
TEXTO é o mais geral e inclui todo o resto - então esqueça o resto-.
Aqui está o conjunto de caracteres US-ASCII (= ASCII)
Como você pode ver, todos os caracteres ASCII imprimíveis são permitidos.