В HTTP нет механизма, который указывает, какие значения заголовка закодированы и как.Клиент и сервер должны договориться об этом перед обменом сообщениями, или вы должны изобрести свой собственный способ передачи этой информации.
Не-ASCII-значения в заголовке HTTP традиционно MIME-кодируются (RFC 2047).
Как декодирование в процентах, так и MIME-декодирование возвращают незашифрованные значения без изменений, поэтому вы можете оптимистично декодировать все значения, которые могут быть закодированы .
В Go, mimeпакет используется для кодирования / декодирования MIME, а пакет url используется для кодирования / декодирования URL.