textcode is a library for text encoding/decoding. Supports next charsets:
UTF-8
iso-6937
- Latin superset of ISO/IEC 6937 with Euro and letters with diacriticsiso-8859-1
- Western Europeaniso-8859-2
- Central Europeaniso-8859-3
- South Europeaniso-8859-4
- North Europeaniso-8859-5
- Cyrilliciso-8859-6
- Arabiciso-8859-7
- Greekiso-8859-8
- Hebrewiso-8859-9
- Turkishiso-8859-10
- Nordiciso-8859-11
- Thaiiso-8859-13
- Baltic Rimiso-8859-14
- Celticiso-8859-15
- Western Europeaniso-8859-16
- South-Eastern Europeangb2312
- Simplified Chinese
Example:
use textcode::iso8859_5;
const UTF8: &str = "Привет!";
const ISO8859_5: &[u8] = &[0xbf, 0xe0, 0xd8, 0xd2, 0xd5, 0xe2, 0x21];
let mut dst: Vec<u8> = Vec::new();
iso8859_5::encode(UTF8, &mut dst);
assert_eq!(dst.as_slice(), ISO8859_5);
let mut dst = String::new();
iso8859_5::decode(ISO8859_5, &mut dst);
assert_eq!(UTF8, dst.as_str());