uchardet 是一款强大的编码检测库,无需额外信息即可识别未知字符序列的编码,支持UTF-8、GBK等多种国际编码,比原始实现更可靠,广泛应用于文本处理场景。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 |
uchardet
uchardet 是一个编码检测库,它接收一个未知字符编码的字节序列,无需任何额外信息,尝试确定文本的编码。返回的编码名称与 iconv 兼容。
uchardet 最初是基于 Mozilla 的通用字符集检测库的原始 C++ 实现的 C 语言绑定。现在,它可以比原始实现更可靠地检测更多字符集。
universalchardet 的原始代码可在 http://lxr.mozilla.org/seamonkey/source/extensions/universalchardet/ 找到。
universalchardet 使用的技术在 http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html 描述。
支持的语言/编码
- 国际(Unicode)
- UTF-8
- UTF-16BE / UTF-16LE
- UTF-32BE / UTF-32LE / X-ISO-10646-UCS-4-34121 / X-ISO-10646-UCS-4-21431
- 阿拉伯
- ISO-8859-6
- WINDOWS-1256
- 保加利亚
- ISO-8859-5
- WINDOWS-1251
- 中文
- ISO-2022-CN
- BIG5
- EUC-TW
- GB18030
- HZ-GB-2312
- 克罗地亚
- ISO-8859-2
- ISO-8859-13
- ISO-8859-16
- Windows-1250
- IBM852
- MAC-CENTRALEUROPE
- 捷克
- Windows-1250
- ISO-8859-2
- IBM852
- MAC-CENTRALEUROPE
- 丹麦
- ISO-8859-1
- ISO-8859-15
- WINDOWS-1252
- 英语
- ASCII
- 世界语
- ISO-8859-3
- 爱沙尼亚
- ISO-8859-4
- ISO-8859-13
- ISO-8859-13
- Windows-1252
- Windows-1257
- 芬兰
- ISO-8859-1
- ISO-8859-4
- ISO-8859-9
- ISO-8859-13
- ISO-8859-15
- WINDOWS-1252
- 法国
- ISO-8859-1
- ISO-8859-15
- WINDOWS-1252
- 德国
- ISO-8859-1
- WINDOWS-1252
- 希腊
- ISO-8859-7
- WINDOWS-1253
- 希伯来
- ISO-8859-8
- WINDOWS-1255
- 匈牙利
- ISO-8859-2
- WINDOWS-1250
- 爱尔兰盖尔语
- ISO-8859-1
- ISO-8859-9
- ISO-8859-15
- WINDOWS-1252
- 意大利
- ISO-8859-1
- ISO-8859-3
- ISO-8859-9
- ISO-8859-15
- WINDOWS-1252
- 日本
- ISO-2022-JP
- SHIFT_JIS
- EUC-JP
- 韩国
- ISO-2022-KR
- EUC-KR / UHC
- 立陶宛
- ISO-8859-4
- ISO-8859-10
- ISO-8859-13
- 拉脱维亚
- ISO-8859-4
- ISO-8859-10
- ISO-8859-13
- 马耳他
- ISO-8859-3
- 波兰
- ISO-8859-2
- ISO-8859-13
- ISO-8859-16
- Windows-1250
- IBM852
- MAC-CENTRALEUROPE
- 葡萄牙
- ISO-8859-1
- ISO-8859-9
- ISO-8859-15
- WINDOWS-1252
- 罗马尼亚
- ISO-8859-2
- ISO-8859-16
- Windows-1250
- IBM852
- 俄罗斯
- ISO-8859-5
- KOI8-R
- WINDOWS-1251
- MAC-CYRILLIC
- IBM866
- IBM855
- 斯洛伐克
- Windows-1250
- ISO-8859-2
- IBM852
- MAC-CENTRALEUROPE
- 斯洛文尼亚
- ISO-8859-2
- ISO-8859-16
- Windows-1250
- IBM852
- MAC-CENTRALEUROPE
- 西班牙
- ISO-8859-1
- ISO-8859-15
- WINDOWS-1252
- 瑞典
- ISO-8859-1
- ISO-8859-4
- ISO-8859-9
- ISO-8859-15
- WINDOWS-1252
- 泰国
- TIS-620
- ISO-8859-11
- 土耳其
- ISO-8859-3
- ISO-8859-9
- 越南
- VISCII
- Windows-1258
- 其他
- WINDOWS-1252
安装
Debian/Ubuntu/Mint
apt-get install uchardet libuchardet-dev
Mageia
urpmi libuchardet libuchardet-devel
Fedora
dnf install uchardet uchardet-devel
Gentoo
emerge uchardet
Mac
brew install uchardet
Windows
在 Fedora 和 Msys2 存储库中提供了二进制包。可能还存在其他预构建包,但我不了解它们。不过,该库在 Windows 下也很容易快速编译,因此不一定需要找到二进制包。有些人成功地使用了 CMake Windows 安装程序 和 MinGW。应该也可以使用 MinGW-w64 来构建 32 位和 64 位的 DLL 库。
请注意,它也可以很容易地进行交叉构建(例如,从 GNU/Linux 机器)。
从源代码构建
发布版本可在以下地址找到: https://www.freedesktop.org/software/uchardet/releases/
如果你偏好开发版本,克隆 git 仓库:
git clone https://gitlab.freedesktop.org/uchardet/uchardet.git
可在以下位置浏览源代码:https://gitlab.freedesktop.org/uchardet/uchardet
cmake .
make
make install
使用 flatpak-builder 构建
以下是一个可在你的 Flatpak 的 json 清单文件中包含的“模块”部分:
"modules": [
{
"name": "uchardet",
"buildsystem": "cmake",
"builddir": true,
"config-opts": [ "-DCMAKE_INSTALL_LIBDIR=lib" ],
"sources": [
{
...
}
]
}
]
使用方法
命令行界面
uchardet Command Line Tool
Version 0.0.7
Authors: BYVoid, Jehan
Bug Report: https://gitlab.freedesktop.org/uchardet/uchardet/-/issues
Usage:
uchardet [Options] [File]...
Options:
-v, --version Print version and build information.
-h, --help Print this help.
库
请参阅 uchardet.h
相关项目
- python-chardet Python 端口
- ruby-rchardet Ruby 端口
- juniversalchardet universalchardet 的 Java 端口
- jchardet chardet 的 Java 端口
- nuniversalchardet universalchardet 的 C# 端口
- nchardet chardet 的 C# 端口
- uchardet-enhanced mozilla universalchardet 的一个分支
- rust-uchardet uchardet 的 Rust 语言绑定
- libchardet 另一个封装 Mozilla 代码的 C/C++ API。
使用者
- mpv 用于字幕检测
- Tepl
- Nextcloud IOS 应用
- Codelite
- …
许可
- Mozilla 公共许可证 Version 1.1
- GNU 通用公共许可证,版本 2.0 或更新版本。
- GNU 较小通用公共许可证,版本 2.1 或更新版本。
请参阅文件 COPYING 以获取这三种许可证的完整文本。
行为准则
uchardet 项目由 freedesktop.org 托管,因此遵循其行为准则。换句话说,我们将尊重每个人,并期望每个人也能如此。
请阅读 freedesktop.org 行为准则。
如果在 uchardet 项目中遇到任何有关不当行为的问题,请联系维护者(Jehan)或创建一个错误报告(如有必要,可以是私密的)。