cp1252 (aka windows-1252) defines 27 characters which iso-8859-1 does not. This leaves five bytes with undefined semantics.
Currently the python cp1252 decoder allows us to ignore/replace/error on these bytes, but there's no facility for allowing these unknown bytes to round-trip through the codec, as the latin1 codec does. I'd like to get this "fixed" but I will have a very hard time convincing anyone that it's wrong.