Module fluent_syntax::unicode [−][src]
Expand description
A set of helper functions for unescaping Fluent unicode escape sequences.
Unicode
Fluent supports UTF-8 in all FTL resources, but it also allows
unicode sequences to be escaped in String Literals
.
Four byte sequences are encoded with \u
and six byte
sqeuences using \U
.
Example
use fluent_syntax::unicode::unescape_unicode_to_string;
assert_eq!(
unescape_unicode_to_string("Foo \\u5bd2 Bar"),
"Foo 寒 Bar"
);
assert_eq!(
unescape_unicode_to_string("Foo \\U01F68A Bar"),
"Foo 🚊 Bar"
);
Other unescapes
This also allows for a char "
to be present inside an FTL string literal,
and for \
itself to be escaped.
Example
use fluent_syntax::unicode::unescape_unicode_to_string;
assert_eq!(
unescape_unicode_to_string("Foo \\\" Bar"),
"Foo \" Bar"
);
assert_eq!(
unescape_unicode_to_string("Foo \\\\ Bar"),
"Foo \\ Bar"
);
Functions
Unescapes to a writer without allocating.
Unescapes to a Cow<str>
optionally allocating.