> You can read as bytes and decode as ASCII but ignoring the troublesome > non-text characters: > > >>> print(open('text.txt', 'br').read().decode('ascii', 'ignore')) > Das fr ASCII nicht benutzte Bit kann auch fr Fehlerkorrekturzwecke > (Parittsbit) auf den Kommunikationsleitungen oder fr andere > Steuerungsaufgaben verwendet werden. Heute wird es aber fast immer zur > Erweiterung von ASCII auf einen 8-Bit-Code verwendet. Diese > Erweiterungen sind mit dem ursprnglichen ASCII weitgehend kompatibel, > so dass alle im ASCII definierten Zeichen auch in den verschiedenen > Erweiterungen durch die gleichen Bitmuster kodiert werden. Die > einfachsten Erweiterungen sind Kodierungen mit sprachspezifischen > Zeichen, die nicht im lateinischen Grundalphabet enthalten sind. > > The paragraph is from the German Wikipedia on ASCII, in UTF-8.
I see no non-ASCII characters, not sure if that is because the source has none or something else. From this example I would not say that the rest of the text is "unchanged". Decode converts to Unicode, did you mean encode? I think "ignore" will remove non-translatable characters and not leave them in the returned string. Ramit Ramit Prasad | JPMorgan Chase Investment Bank | Currencies Technology 712 Main Street | Houston, TX 77002 work phone: 713 - 216 - 5423 -- This email is confidential and subject to important disclaimers and conditions including on offers for the purchase or sale of securities, accuracy and completeness of information, viruses, confidentiality, legal privilege, and legal entity disclaimers, available at http://www.jpmorgan.com/pages/disclosures/email. -- http://mail.python.org/mailman/listinfo/python-list