я бы везде где тут `decode` пытался бы по charset но если падает по `DecodeError` (вроде) то пытался бы эвристику применить 
аля utf -> koi -> cp -> ?