私はPython3.2でchardet2.01を使用しています。このサイトのようなソースコードhttp://getpython3.com/diveintopython3/case-study-porting-chardet-to-python-3.html
ここからダウンロードできます
http://jaist.dl.sourceforge.net/project/cygwin-ports/release-2/Python/python3-chardet/python3-chardet-2.0.1-2.tar.bz2
lxml2を使用してhtmlを解析し、文字列を取得し
、以下のコードを使用してエンコーディングを検出します
chardet.detect(name)
しかし、エラーが発生します
Traceback (most recent call last):
File "C:\python\test.py", line 125, in <module>
print(chardet.detect(str(name)))
File "E:\Python32\lib\site-packages\chardet\__init__.py", line 24, in detect
u.feed(aBuf)
File "E:\Python32\lib\site-packages\chardet\universaldetector.py", line 98, in feed
if self._highBitDetector.search(aBuf):
TypeError: can't use a bytes pattern on a string-like object
name
文字
列をバイトに変換するということは、「utf-8」や「big5」
などのエンコードでエンコードすることを意味します。charsetは、作成したエンコードを検出します。元の文字列のエンコード
ではありません。これについてはわかりません。問題...