Repolode
chardet

chardet/chardet

バイトデータの文字エンコーディングを検出し、言語やMIMEタイプの判定にも対応するPythonライブラリとchardetect CLI。

スター
2,680
フォーク
311
未解決の Issue
3
最終コミット
一昨日

これは何?

chardetは、未知のソースからテキストを読み込むときによく起こる問題に対応し、バイト列やファイルの文字エンコーディングを推定します。detect()を呼び出すと、最も可能性の高いエンコーディングと信頼度が返され、テキストの検出結果には言語も含まれます。バイナリファイルの場合は、マジックナンバーのシグネチャからMIMEタイプを特定します。

このプロジェクトは一から書き直されていますが、以前のchardetと同じパッケージ名および公開APIを維持しているため、バージョン5.xや6.xのドロップイン置き換えとして利用できます。Python 3.10以降が必要で、実行時依存関係はありません。候補を絞り込むためのUniversalDetectorによるストリーミング検出、エンコーディング世代のフィルタリング、エンコーディングの包含・除外フィルターを利用できます。オプションとして、コンパイル済みビルドも提供されています。

chardetectコマンドラインツールはファイルまたは標準入力を読み込み、検出したエンコーディングを報告します。オプションで言語も表示できます。

主な機能

  • 01detect()またはdetect_all()で、最も可能性の高いエンコーディングと信頼度を返します。
  • 02エンコーディングとともに、テキストの検出結果から言語を判定します。
  • 03マジックナンバーのシグネチャを使って、40種類以上のバイナリ形式のMIMEタイプを特定します。
  • 04大容量ファイルやネットワークストリーム向けに、UniversalDetectorによるストリーミング検出に対応します。
  • 05包含・除外リストを使って、候補となるエンコーディングを絞り込めます。
  • 06ファイルまたは標準入力を受け付けるchardetect CLIを提供します。

ユースケース

  • レガシーなテキストファイルを解析したりUTF-8に変換したりする前に、エンコーディングを検出する。
  • 文字セットが宣言されていないアップロードコンテンツやスクレイピングしたコンテンツを処理する。
  • ストリーミング検出を使い、大容量ファイルやネットワークストリームを段階的に処理する。
  • chardetect CLIを使い、シェルのパイプラインでファイルのエンコーディングを確認する。

クイックスタート

  1. 1

    PyPIからパッケージをインストールする

    pip install chardet
  2. 2

    Pythonでバイト文字列のエンコーディングを検出する

  3. 3

    または、コマンドラインからchardetectでファイルを検出する

    chardetect somefile.txt

使う前に知っておきたいこと

  • 検出は統計的なものなので、結果は保証ではなく信頼度スコア付きの推定値です。
  • 追加の高速化機能を含むコンパイル済みビルドは任意です。また、READMEに記載されたベンチマークは特定のコンパイル済みバージョンを対象としています。

トピック

よくある質問

chardet とは?
バイトデータの文字エンコーディングを検出し、言語やMIMEタイプの判定にも対応するPythonライブラリとchardetect CLI。 chardetは、未知のソースからテキストを読み込むときによく起こる問題に対応し、バイト列やファイルの文字エンコーディングを推定します。detect()を呼び出すと、最も可能性の高いエンコーディングと信頼度が返され、テキストの検出結果には言語も含まれます。バイナリファイルの場合は、マジックナンバーのシグネチャからMIMEタイプを特定します。
chardet は無料で使えますか?ライセンスは?
chardet は 0BSD ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
chardet は今もメンテナンスされていますか?
活発にメンテナンス中。chardet の最終コミットは 2026年10月18日 です。
chardet は何に使えますか?
レガシーなテキストファイルを解析したりUTF-8に変換したりする前に、エンコーディングを検出する。 文字セットが宣言されていないアップロードコンテンツやスクレイピングしたコンテンツを処理する。 ストリーミング検出を使い、大容量ファイルやネットワークストリームを段階的に処理する。 chardetect CLIを使い、シェルのパイプラインでファイルのエンコーディングを確認する。
chardet のインストール方法は?
PyPIからパッケージをインストールする: pip install chardet Pythonでバイト文字列のエンコーディングを検出する または、コマンドラインからchardetectでファイルを検出する: chardetect somefile.txt
chardet はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/chardet/chardet

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト