when I start from from_utf8_lossy
reads the content and converts it to string. I find some strange symbols
Is there any way for the rust standard library?
let resp_data = String::from_utf8_lossy(&res);
resp_data.to_string()
output:
\n0\b\u0002\u0012*test-2022-06-18 15:08-阳性\u0018*
Output effect I want:
test-2022-06-18 15:08-阳性
That means your string wasn't UTF-8 to begin with.
2 Likes
riking
June 18, 2022, 7:59am
3
You need to fully parse your input to just the parts that are actual text.
This is the method I input to save data
pub async fn save_nucleic_ipfs(data: NucleicAcidsDto) -> String {
let symbol = String::from("-");
let mut req_data = String::new();
if let Some(name) = data.name {
req_data.push_str(&name)
}
req_data.push_str(&symbol);
// data transform
let date: String = Local::now().format("%Y-%m-%d %H:%M").to_string();
req_data.push_str(&date);
req_data.push_str(&symbol);
if let NucleicAcidsEnum::NEGATIVE = data.result {
req_data.push_str("阴性");
}
if let NucleicAcidsEnum::POSITIVE = data.result {
req_data.push_str("阳性");
}
let client = ipfs::coon();
let ipfs_data = Cursor::new(req_data);
match client.add(ipfs_data).await {
Ok(res) => res.hash,
Err(e) => String::from("Save nucleic acid error"),
}
}
The question is, what byte sequence ends up inside res
in your first code sample? Is it essentially a result of some_string.as_bytes()
, or something more complicated?
Maybe ask the question in a Chinese forum, rustcc.cn , could be better.
I guess it might be something with gbk and utf8.
system
Closed
September 16, 2022, 2:16pm
7
This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.