#字符编码 #编码 #文本

已弃用 uchardet

使用 uchardet 库检测字符编码

14 个版本 (6 个稳定版)

使用旧的 Rust 2015

2.0.4 2017年12月7日
2.0.3 2017年11月28日
2.0.0 2017年3月18日
2.0.0-pre.12016年10月30日
0.0.6 2014年11月21日

#45#字符编码

每月41 次下载

无许可证

670KB
8K SLoC

C++ 7K SLoC // 0.3% comments Python 1K SLoC // 0.7% comments Rust 134 SLoC // 0.1% comments C 71 SLoC // 0.4% comments Shell 21 SLoC

Latest version License Build Status Build status Documentation

已弃用,推荐使用纯 Rust 的 chardet 如果你有使用此代码的情况,请随时提出问题。简单的 PR 仍将被阅读,并可能被接受。

尝试使用 uchardet 库检测原始文本的字符编码。

示例

// At the top of the file.
extern crate uchardet;
use uchardet::detect_encoding_name;

// Inside a function.
assert_eq!("UTF-8",
           detect_encoding_name(""©français"".as_bytes()).unwrap());

如果您还想检测解码文本使用的语言,请参阅 rust-cld2

获取 uchardet(通常为可选)

如果您愿意,可以使用您的系统包管理器安装 uchardet。例如,在 Ubuntu 下,您可以运行

sudo apt-get install libuchardet-dev

如果您跳过此步骤,Cargo 将尝试从捆绑的源代码编译 uchardet。如果您已安装适当的 g++(或 MSVC)编译器以及 cmake,则应该可以工作。我们使用 Travis CI 在 Linux、OS X 和 Windows(MinGW 和 MSVC)上测试此构建。

贡献

一如既往,欢迎 PR!请尽量使补丁保持简单,并包括单元测试;这样会使合并它们变得容易得多。

如果您想在其他平台上构建 C/C++ 代码,请参阅 uchardef-sys/build.rb此构建脚本指南。您可能需要调整一些编译器选项。请随时提问;我希望这个库能够支持更多平台。

在您的第一个提交信息中,请包括以下声明

我将我的贡献对这一项目的所有版权利益奉献给公共领域。我做出这一奉献是为了公众的利益,损害我的继承人及继任者的利益。我打算将此奉献视为对根据版权法对软件的所有现在和未来权利的永久放弃。

这使得我们能够保持库的法律自由,并且对每个人都是免费的。

贡献者包括

  • 周成标。对较新的上游 uchardet 库和微软 Windows 的支持,以及错误链转换。
  • 莫里斯。修复了 Rust beta 2 和 OS X 的错误。

非常感谢您的贡献!

许可证

rust-uchardet 库中的新代码已发布到公共领域,如 UNLICENSE 文件中所述。然而,一些现有的部分有自己的许可。

  • 包含在 uchardet C++ 库中的 uchardet,通过 git 子模块包含在 uchardet-sys/uchardet 中,根据 Mozilla Public License 1.1 进行分发。

依赖项

约 2.5–3.5MB
约 74K SLoC