Как использовать кодировку SHIFT-JIS в Rust?
В соответствии с этой проблемой Github в корзине с кодировкой ржавчины отсутствует поддержка SHIFT-JIS. Какой лучший способ расшифровать SHIFT-JIS в Rust в свете этого?
1 ответ
encoding_rs::SHIFT_JIS
, ящик для Firefox, может быть использован вместо!:)
extern crate encoding_rs;
use encoding_rs::SHIFT_JIS;
fn main() {
let data = vec![142,75,130,209,130,189,142,169,147,93,142,212,130,198,141,98,138,107,151,222];
let (res, _enc, errors) = SHIFT_JIS.decode(&data);
if errors {
eprintln!("Failed");
} else {
println!("{}", res);
}
}
Выходы:
錆びた自転車と甲殻類
Обратите внимание, что res
это Cow<'_, str>
- вам может понадобиться into_owned()
в зависимости от вашего варианта использования.