La respuesta real a esta pregunta es que no hay un estándar para codificar saltos de línea.
Puede usar cualquier Binary-to-text encoding como URL-Encoding o Base64, pero obviamente eso solo funcionará si tanto el emisor como el receptor implementan el mismo método.
RFC 2616 permitió a 'doblar' valores (es decir envoltura) de cabecera a través de múltiples líneas, pero los saltos de línea fueron tratados como un único carácter de espacio y no forma parte del valor del campo analizado.
Sin embargo, que la especificación se ha quedado obsoletos por RFC 7230 que prohíbe plegables:
Históricamente, los valores de campo de encabezamiento HTTP podría extenderse a través de múltiples líneas precediendo cada línea adicional con al menos un espacio o pestaña horizontal (obs-fold).
Esta especificación desaprueba tal plegado de línea excepto dentro del tipo de medio message/http
(Section 8.3.1).
Un remitente NO DEBE generar un mensaje que incluye la línea de plegado
Un estándar para saltos de línea en los valores de campo de encabezado HTTP no es - y nunca fue - establecido.
+1 - significa que no tiene que preocuparse por caracteres fuera de límites, qué codificación de caracteres está en uso, etc. Las formas nativas de encapsular estos RFC822 son horribles, frágiles y, por lo general, no funcionarán. HTTP. – bobince