Expand description
Macros converting character encodings at compile time which reduce runtime processing costs and binary size.
Encoding definitions depend on the encoding_rs crate.
§Examples
Convert a string literal into encoded bytes array:
const BYTES: &[u8] = encoded::shift_jis!("漢字");
assert_eq!(BYTES, b"\x8a\xbf\x8e\x9a");
Can also be used with std::io::Write:
use std::io::{Cursor, Write};
let mut buff = Cursor::new(Vec::new());
buff.write_all(encoded::shift_jis!("漢字"));
assert_eq!(buff.get_ref(), b"\x8a\xbf\x8e\x9a");
§Compile Errors
Argument must be a literal:
ⓘ
const KANJI: &str = "漢字";
const BYTES: &[u8] = encoded::shift_jis!(KANJI);
// ^^^^^
Any unmappable characters result a compile error:
ⓘ
const BYTES: &[u8] = encoded::shift_jis!("鷗外");
// ^^^^^^
Macros§
- big5
- Examples
- euc_jp
- Examples
- euc_kr
- Examples
- gb18030
- Examples
- gbk
- Examples
- iso_
8859_ 2 - Examples
- iso_
8859_ 4 - Examples
- iso_
8859_ 5 - Examples
- iso_
8859_ 6 - Examples
- iso_
8859_ 7 - Examples
- iso_
8859_ 8 - Examples
- iso_
8859_ 10 - Examples
- iso_
8859_ 13 - Examples
- iso_
8859_ 15 - Examples
- iso_
8859_ 16 - Examples
- koi8_r
- Examples
- koi8_u
- Examples
- shift_
jis - Examples
- windows_
874 - Examples
- windows_
1251 - Examples
- windows_
1252 - Examples
- windows_
1253 - Examples
- windows_
1254 - Examples
- windows_
1255 - Examples
- windows_
1256 - Examples
- windows_
1257 - Examples