■ Encoding 구조체의 encode/decode 메소드를 사용해 EUC-KR 인코딩 파일을 저장하고 로드하는 방법을 보여준다.
▶ main.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
use std::fs; use std::io::Write; use encoding_rs; fn main() { let file_path : &str = "d:/sample.txt"; save_file(file_path, "테스트 문자열 입니다."); let text : String = load_file(file_path); println!("{}", text); } fn save_file(file_path: &str, text : &str) { let (byte_cow, _, _) = encoding_rs::EUC_KR.encode(text); let byte_vector : Vec<u8> = byte_cow.into_owned(); let mut file: fs::File = fs::File::create(file_path).expect("파일 생성"); file.write(&byte_vector[..]).expect("파일 쓰기"); } fn load_file(file_path : &str) -> String { let byte_vector : Vec<u8> = fs::read(file_path).expect("파일 읽기"); let (string_cow, _, _) = encoding_rs::EUC_KR.decode(&byte_vector); return string_cow.into_owned(); } |