表形式データを見やすいASCII表やHTML、JSON、CSV、LaTeXなどで出力するPythonライブラリ。
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
PyPIからパッケージをインストールする
pip install chardet - 2
Pythonでバイト文字列のエンコーディングを検出する
- 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 の数値は毎日更新されます。
関連プロジェクト
GitHubなどから必要なファイルやフォルダだけを取得できる、ターミナルTUI/CLIツール。
Tailscaleを使い、手元のAIエージェント同士でメッセージやデータ、ファイルをやり取りする通信レイヤー。
既存ソフトウェア向けのエージェント対応CLIを生成し、完成済みCLIを導入できるCLI-Hubも備えたツールキット。
CPU、メモリ、ディスク、ネットワーク、プロセス、コンテナを監視するクロスプラットフォーム対応の端末・Webシステムモニター。REST APIとエクスポート機能も搭載。
CLI、Pythonライブラリ、HTTPサーバー、Dockerで使える画像背景除去ツール。