問題タブ [chardet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1629 参照

python - チャーデットはBig5で明らかに間違っている

私は大規模な(約ギガバイトの)フラットファイルデータベースをデコードしています。このデータベースは、文字エンコードを巧みに組み合わせています。pythonモジュールchardetは、これまでのところ、エンコーディングを識別するのに良い仕事をしていますが、つまずきにぶつかった場合は...

chardetは、エンコーディングの選択について非常に高い信頼性を報告していますが、デコードしません...他に賢明なアプローチはありますか?

0 投票する
3 に答える
7761 参照

python - RSS を lxml で解析中にエンコード エラーが発生しました

ダウンロードしたRSSをlxmlでパースしたいのですが、UnicodeDecodeErrorの扱いがわからないのですが?

しかし、私はエラーが発生します:

0 投票する
1 に答える
2677 参照

python - Python3でchardetが正しく実行されない


私は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を解析し、文字列を取得し
、以下のコードを使用してエンコーディングを検出します

しかし、エラーが発生します

name文字
列をバイトに変換するということは、「utf-8」や「big5」
などのエンコードでエンコードすることを意味します。charsetは、作成したエンコードを検出します。元の文字列のエンコード
ではありません。これについてはわかりません。問題...

0 投票する
1 に答える
464 参照

python - イタリア語はiso-8859-2として検出されました

イタリア語を含むテキストファイルのエンコーディングを検出するためにchardetを使用しています。問題は、正しい検出がiso-8859-1であるのに対し、それらのエンコーディングを常にiso-8859-2として検出することです。誰かが修正を知っていますか?私の母国語はポーランド語に設定されていますか?それは検出に影響を与える可能性がありますか?

0 投票する
1 に答える
541 参照

ruby-on-rails - Rails 3 でファイルを UTF-8 にエンコードするにはどうすればよいですか?

Outlook のインポート (Outlook 形式へのエクスポートにリンク) に取り組んでいますが、エンコードに問題があります。LinkedIn の連絡先をエクスポートして取得した Outlook 形式の CSV は、UTF-8 ではありません。のような文字は、呼び出し時に gemñで例外を引き起こします。私が呼び出すとき(最初のコード例を参照)なので、エンコーディングが問題だと思います。これが gem のバグかどうかはわかりませんが、それでもデータをサニタイズするように勧められました。mongoid_searchstr.to_s.mb_chars.normalizemb_chars

File Picker から、コミュニティがサポートする新しい gem を使用して CSV データをアップロードしてみました。3 つのエンコード検出器とトランスコーダーを試しました。

  1. Python lib の Ruby ポートchardet
    • 期待どおりに機能しませんでした
    • ポートにはまだ Python コードが含まれていたため、アプリで実行できませんでした
  2. rchardet19宝石
    • 自信を持って検出iso-8859されます。.8/1
    • Iconv でトランスコードしようとしましたが、「不正な文字」でクラッシュしましたñ
  3. Charlock_Holmes宝石
    • 自信windows-1252を持って検出33/100
    • それが実際のエンコーディングだと思いますrchardetiso-8859、これはそれに基づいているためです。
    • この gem は ICU を使用し、Heroku をサポートするブランチ「bundle-icu」を維持しています。を使用してトランスコードしようとするとcharlockU_FILE_ACCESS_ERROR「ファイルを開けませんでした」という意味の ICU エラー コードが表示されます。

ここで何をすべきか知っている人はいますか?

0 投票する
0 に答える
962 参照

python - Python で壊れたエンコーディングを修正

djangoプレイリスト管理を備えた小さなicecast2ホームサーバーがあります。また、エンコーディングが壊れたmp3がたくさんあります。まず、Pythonでエンコーディング修復ツールを見つけようとしましたが、うまくいくものは見つかりませんでした( python-ftfynltk - ユニコード入力をサポートしていません)。

私はbeets、メディア タグを解析するためにスイス ナイフのように pip を使用します。これは非常にシンプルで、ほとんどの場合、ほぼ十分だと思います。

文字セットの検出には を使用chardetしますが、短い文字列に問題があるため、遭遇したエンコーディングに対していくつかの強制調整を使用します。エンコーディングが間違っている場合は、すべてのタグで間違っていると思われるため、使用されているすべてのエンコーディングを最初に収集します。

微調整は次のとおりです。

つまり、MacCyrillicwindows-1251チャンスが同時にある場合、 を優先する必要がありwindows-1251ます。

メディア ファイルの解析:

そして、例えば使用法:

ここに完全なスクリプトがあります。解析中にアルバムのアスキー カバーを表示できます。

動作しているようですが、Python で維持されているスイス ナイフ エンコーディングの修復ライブラリはありますか?

0 投票する
1 に答える
1308 参照

python - Windows で BeautifulSoup4、Chardet、および Python 3.3 を使用してページを解析中にエラーが発生しました

BeautifulSoup(page) を呼び出そうとすると、次のエラーが発生します。

Windows 7 で Python 3.3 を実行しています。.tar.gz をダウンロードして、setup.py から bs4 をインストールしました。pip をインストールしてから、pip.exe install chardet を実行して chardet をインストールしました。私のシャルデのバージョンは 2.2.1 です。BS4 は、他の URL に対して正常に動作します。

これがコードです

あなたの答えを楽しみにしています