6个版本 (稳定版)

使用旧的Rust 2015

2.2.0 2022年1月26日
2.1.0 2020年1月29日
2.0.0 2016年10月9日
1.0.1 2016年10月9日
0.1.0 2015年8月31日

#1114文本处理

Download history 24/week @ 2024-03-13 30/week @ 2024-03-20 39/week @ 2024-03-27 70/week @ 2024-04-03 18/week @ 2024-04-10 39/week @ 2024-04-17 34/week @ 2024-04-24 49/week @ 2024-05-01 30/week @ 2024-05-08 18/week @ 2024-05-15 15/week @ 2024-05-22 24/week @ 2024-05-29 14/week @ 2024-06-05 17/week @ 2024-06-12 20/week @ 2024-06-19 14/week @ 2024-06-26

每月下载 68
3 个crate 中使用

MIT 许可证

14KB
194

xhtmlchardet

Rust中XML和HTML的基本字符集检测。

Build Status Documentation Latest Version

最低支持的Rust版本 1.24.0

示例

use std::io::Cursor;
extern crate xhtmlchardet;

let text = b"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><channel><title>Example</title></channel>";
let mut text_cursor = Cursor::new(text.to_vec());
let detected_charsets: Vec<String> = xhtmlchardet::detect(&mut text_cursor, None).unwrap();
assert_eq!(detected_charsets, vec!["iso-8859-1".to_string()]);

理由

我编写了一个需要确定获取的内容字符集的Feed爬虫,以便将其转换为UTF-8。最初我使用了uchardet crate,但在某些情况下它错误地检测了字符集。我将所有这些边缘情况收集在一起并构建了一个测试套件。然后我实现了这个crate,它通过了所有这些测试。它使用了一种相当简单的方法,该方法来源于XML规范的第F节

无运行时依赖