1个稳定版本
使用旧的Rust 2015
1.0.0 | 2017年5月29日 |
---|
#237 在 FFI
23 每月下载次数
用于 rofi-plugin
6KB
86 行
此包提供了表示NUL终止的UTF8字符串的类型。
NulTerminatedStr
类型在需要/保证UTF8编码的C API交互中很有用。Rust对处理UTF8有很好的支持,但C字符串需要NUL终止符,而Rust的str
和String
没有。
let s = ntstr!("Hello, World!");
// You can use Rust's normal string operations
assert_eq!(s.find("World"), Some(7));
// And pass it to C since it's NUL-terminated
let ptr = s.as_ptr();
CStr与NulTerminatedStr
标准库提供了NUL终止的CStr
类型,但它不使用任何特定的编码。因此,如果您的输入需要同时NUL终止和UTF8编码,则这不足以满足需求。
lib.rs
:
此包提供了表示NUL终止的UTF8字符串的类型。
NulTerminatedStr
类型在需要/保证UTF8编码的C API交互中很有用。Rust对处理UTF8有很好的支持,但C字符串需要NUL终止符,而Rust的str
和String
没有。
let s = ntstr!("Hello, World!");
// You can use Rust's normal string operations
assert_eq!(s.find("World"), Some(7));
// And pass it to C since it's NUL-terminated
let ptr = s.as_ptr();
CStr与NulTerminatedStr
标准库提供了NUL终止的CStr
类型,但它不使用任何特定的编码。因此,如果您的输入需要同时NUL终止和UTF8编码,则这不足以满足需求。