Function oem_cp::decode_string_incomplete_table_checked
source · pub fn decode_string_incomplete_table_checked<'a, T: Into<Cow<'a, [u8]>>>(
src: T,
decoding_table: &[Option<char>; 128]
) -> Option<String>
Expand description
Decode SBCS (single byte character set) bytes (with undefined codepoints)
If some undefined codepoints are found, returns None
.
Arguments
src
- bytes encoded in SBCSdecoding_table
- table for decoding SBCS (with undefined codepoints)
Examples
use oem_cp::decode_string_incomplete_table_checked;
use oem_cp::code_table::DECODING_TABLE_CP874;
// means shrimp in Thai (U+E49 => 0xE9)
assert_eq!(decode_string_incomplete_table_checked(vec![0xA1, 0xD8, 0xE9, 0xA7], &DECODING_TABLE_CP874), Some("กุ้ง".to_string()));
// 0xDB-0xDE,0xFC-0xFF is invalid in CP874 in Windows
assert_eq!(decode_string_incomplete_table_checked(vec![0x30, 0xDB], &DECODING_TABLE_CP874), None);