在Rust中,通过这样做可以从字节中获取UTF-8:
if let Ok(s) = str::from_utf8(some_u8_slice) {
println!("example {}", s);
}
Run Code Online (Sandbox Code Playgroud)
这可能有效,也可能没有,但Python有能力处理错误,例如:
s = some_bytes.decode(encoding='utf-8', errors='surrogateescape');
Run Code Online (Sandbox Code Playgroud)
在此示例中,参数surrogateescape将无效的utf-8序列转换为转义码,因此它们不是忽略或替换无法解码的文本,而是替换为有效的字节文字表达式utf-8.请参阅:Python文档了解详细信息.
Rust是否有办法从字节中获取UTF-8字符串,从而逃避错误而不是完全失败?