#字符编码 #检测 #不安全 #底层 #接口 #检测器 #uchardet

废弃 sys uchardet-sys

uchardet 编码检测器的底层、不安全接口

11 个版本 (4 个稳定版)

使用旧的 Rust 2015

2.0.3 2017年11月28日
2.0.2 2017年11月14日
2.0.0 2017年3月18日
2.0.0-pre.12016年10月30日
0.0.2 2014年11月20日

#44 in #检测器

每月37次下载
uchardet 中使用

无许可/MPL-1.1/MIT

660KB
8K SLoC

C++ 7K SLoC // 0.3% comments Python 1K SLoC // 0.7% comments C 72 SLoC // 0.4% comments Rust 45 SLoC // 0.3% comments Shell 22 SLoC

Latest version License Build Status Build status Documentation

已被 chardet 库替代,它是纯 Rust 编写的。 如果你有使用此代码的场景,请随意提交问题。简单的 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)上测试了此构建。

贡献

一如既往,欢迎拉取请求!请尽量保持补丁尽可能简单,并包含单元测试;这会使合并它们变得更加容易。

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

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

我将我对本项目贡献的所有版权利益奉献给公共领域。我做出这一奉献是为了公众的利益,损害我的继承人及继任者的利益。我意图使这一奉献成为一项永久放弃所有现时及未来根据版权法对软件享有的权利的明确行为。

这使得我们能够使库在法律上不受限制,并对所有人免费使用。

贡献者包括

  • 周博闻。对较新的上游 uchardet 库和 Microsoft Windows 的支持,以及错误链转换。
  • 摩尔。修复 Rust beta 2 和 OS X 的问题。

非常感谢您的贡献!

许可证

rust-uchardet 库中的新代码根据 UNLICENSE 文件描述释放到公共领域。然而,一些现有的组件有自己的许可证

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

lib.rs:

对 uchardet API 的低级、不安全的包装。除非您正在编写自己的包装器,否则不建议直接使用。

依赖项