如何在 Rust 中使用 SHIFT-JIS 编码?

Fre*_*nan 4 character-encoding shift-jis rust

根据此 Github 问题,rust-encoding crate 缺少 SHIFT-JIS 支持。鉴于此,在 Rust 中解码 SHIFT-JIS 的最佳方法是什么?

Fre*_*nan 5

encoding_rs::SHIFT_JIS,一个为 Firefox 制作的 crate,可以用来代替!:)

\n\n
extern crate encoding_rs;\nuse encoding_rs::SHIFT_JIS;\n\nfn main() {\n    let data = vec![142,75,130,209,130,189,142,169,147,93,142,212,130,198,141,98,138,107,151,222];\n    let (res, _enc, errors) = SHIFT_JIS.decode(&data);\n    if errors {\n        eprintln!("Failed");\n    } else {\n        println!("{}", res);\n    }   \n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n
\xe9\x8c\x86\xe3\x81\xb3\xe3\x81\x9f\xe8\x87\xaa\xe8\xbb\xa2\xe8\xbb\x8a\xe3\x81\xa8\xe7\x94\xb2\xe6\xae\xbb\xe9\xa1\x9e\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,这res是一个- 您可能需要根据您的用例Cow<\'_, str>来使用。into_owned()

\n