CharsetDecoder reads:
There are two general types of decoding errors. If the input byte sequence is not legal for this charset then the input is considered malformed. If the input byte sequence is legal but cannot be mapped to a valid Unicode character then an unmappable character has been encountered.
I understand the concept of malformed characters, but what does an unmappable character mean? I thought that Unicode contains all possible characters. How then could a legal byte sequence not be mappable to a Unicode character?