我正在尝试阅读一个包含以下内容的pdf文件:
%PDF-1.4\n%âãÏÓ
如果我使用open读取它,它可以正常工作,但如果我尝试使用codecs.open(filename, encoding="utf8", mode="rb")获取一个Unicode字符串,我会收到以下异常:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe2 in position 10: invalid continuation byte
你知道如何从这个文件的内容中获取一个unicode字符串吗?
PS:我正在使用Python 2.7
'\xe2'
和 Unicode 字符串u"\xe2"
中,\xe2
的含义不同。在前者中,它是一个字面上的字节;而在后者中,它是 Unicode 码点。巧合的是,对于字符 â,Latin-1 表示是字节 \xe2,Unicode 码点是 U+00E2。这只是(实际目的上)一种巧合。 - Cairnarvon