1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// ---------------- [ File: bitcoin-string/src/safe_chars.rs ]
crate::ix!();
/**
| Used by SanitizeString()
|
*/
pub enum SafeChars
{
/**
| The full set of allowed chars
|
*/
SAFE_CHARS_DEFAULT,
/**
| BIP-0014 subset
|
*/
SAFE_CHARS_UA_COMMENT,
/**
| Chars allowed in filenames
|
*/
SAFE_CHARS_FILENAME,
/**
| Chars allowed in URIs (RFC 3986)
|
*/
SAFE_CHARS_URI,
}
pub const CHARS_ALPHA_NUM: &'static str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
lazy_static!{
pub static ref SAFE_CHARS: Box<[String]> =
Box::new([
CHARS_ALPHA_NUM.to_owned() + " .,;-_/:?@()", // SAFE_CHARS_DEFAULT
CHARS_ALPHA_NUM.to_owned() + " .,;-_?@", // SAFE_CHARS_UA_COMMENT
CHARS_ALPHA_NUM.to_owned() + ".-_", // SAFE_CHARS_FILENAME
CHARS_ALPHA_NUM.to_owned() + "!*'();:@&=+$,/?#[]-_.~%", // SAFE_CHARS_URI
]);
}