#string #bom #utf-8 #str #strip

strip_bom

strString添加简单的BOM去除功能

1个稳定版本

1.0.0 2020年9月10日

#1952编码

Download history 1151/week @ 2024-03-07 1051/week @ 2024-03-14 1627/week @ 2024-03-21 3178/week @ 2024-03-28 2456/week @ 2024-04-04 2103/week @ 2024-04-11 2393/week @ 2024-04-18 2760/week @ 2024-04-25 1591/week @ 2024-05-02 2129/week @ 2024-05-09 1829/week @ 2024-05-16 3266/week @ 2024-05-23 4078/week @ 2024-05-30 2498/week @ 2024-06-06 2269/week @ 2024-06-13 2169/week @ 2024-06-20

11,705 每月下载量
2 crates 中使用

MIT 许可证

4KB

strip_bom

strString添加简单的BOM去除功能。

使用方法

use str_strip_bom::*;
// Or std::fs::read_to_string, surf::get, ...
let my_string: Vec<u8> = vec![ 0xefu8, 0xbb, 0xbf, 0xf0, 0x9f, 0x8d, 0xa3 ];
let my_string: String  = String::from_utf8( my_string ).unwrap();

// In this time, my_string has the BOM => true 🍣
println!( "{} {}", my_string.starts_with("\u{feff}"), &my_string );

// Strip BOM
let my_string: &str = my_string.strip_bom();

// my_string (slice) has not the BOM => false 🍣
println!( "{} {}", my_string.starts_with("\u{feff}"), &my_string );

动机

  1. 我想要一个简单轻量级的BOM去除器,仅用于strString,而不是字节流或其他UTF-8格式,如UTF-16或UTF-32。
  2. 因为,例如,serdeserde_json不支持BOM,如果我将UTF-8 BOM源放入其中,它将失败。
  3. Rust标准库中的strString不提供BOM去除功能;参见https://github.com/rust-lang/rfcs/issues/2428

参考

许可证

作者

无运行时依赖