#nul #cstring #null-terminated

无std terminated

表示NUL终止的UTF8字符串的类型

1个稳定版本

使用旧的Rust 2015

1.0.0 2017年5月29日

#237FFI

23 每月下载次数
用于 rofi-plugin

MIT 许可证

6KB
86

此包提供了表示NUL终止的UTF8字符串的类型。

NulTerminatedStr 类型在需要/保证UTF8编码的C API交互中很有用。Rust对处理UTF8有很好的支持,但C字符串需要NUL终止符,而Rust的strString没有。

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的strString没有。

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编码,则这不足以满足需求。

无运行时依赖