[][src]Function oem_cp::decode_string_incomplete_table_checked

pub fn decode_string_incomplete_table_checked<'a, T: Into<Cow<'a, [u8]>>>(
    src: T,
    decoding_table: &[Option<char>; 128]
) -> Option<String>

Decode SBCS (single byte character set) bytes (with undefined codepoints)

If some undefined codepoints are found, returns None.

Arguments

  • src - bytes encoded in SBCS
  • decoding_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);