ddapi_rs/util/
encoding.rs1use std::borrow::Cow;
2use std::fmt::Write;
3
4pub fn slugify2(nickname: &str) -> Cow<str> {
5 let slugify2_symbols = "\t !\"#$%&'()*-/<=>?@[\\]^_`{|},.:+";
6 let mut result = String::with_capacity(nickname.len() * 4);
7
8 for symbol in nickname.chars() {
9 if slugify2_symbols.contains(symbol) || symbol as u32 >= 128 {
10 write!(&mut result, "-{}-", symbol as u32).unwrap();
11 } else {
12 result.push(symbol);
13 }
14 }
15
16 Cow::Owned(result)
17}
18
19pub fn encode(nickname: &str) -> Cow<str> {
20 urlencoding::encode(nickname)
21}