uchardet:高效可靠的字符编码检测库,支持多语言与多种编码格式

uchardet 是一款强大的编码检测库,无需额外信息即可识别未知字符序列的编码,支持UTF-8、GBK等多种国际编码,比原始实现更可靠,广泛应用于文本处理场景。【此简介由AI生成】

分支1Tags0
文件最后提交记录最后更新时间
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

相关项目

使用者

许可

请参阅文件 COPYING 以获取这三种许可证的完整文本。

行为准则

uchardet 项目由 freedesktop.org 托管,因此遵循其行为准则。换句话说,我们将尊重每个人,并期望每个人也能如此。

请阅读 freedesktop.org 行为准则

如果在 uchardet 项目中遇到任何有关不当行为的问题,请联系维护者(Jehan)或创建一个错误报告(如有必要,可以是私密的)。

项目介绍

uchardet 是一款强大的编码检测库,无需额外信息即可识别未知字符序列的编码,支持UTF-8、GBK等多种国际编码,比原始实现更可靠,广泛应用于文本处理场景。【此简介由AI生成】

定制我的领域