I'll admit, I'm not positive what the encoding should be. However there is a bunch of people who do clearly send UTF-8, and I can also promise you there are headers out there which just have binary nonsense in them. See for example
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...If you want to handle all headers, you have to be prepared to just get binary data.