[][src]Function enc::percent::needs_encoding

pub fn needs_encoding(c: u8, non_specials: &[u8]) -> bool

Checks if the char needs to be encoded. Alpha-numeric chars and chars in non-specials do not need to be encoded. All other chars need to be encoded.

use enc::percent::needs_encoding;

let ns: &[u8] = &[b'_'];

// Encoding Not Needed
assert!(!needs_encoding(b'A', ns));
assert!(!needs_encoding(b'Z', ns));
assert!(!needs_encoding(b'a', ns));
assert!(!needs_encoding(b'z', ns));
assert!(!needs_encoding(b'0', ns));
assert!(!needs_encoding(b'9', ns));
assert!(!needs_encoding(b'_', ns));

// Encoding Needed
assert!(needs_encoding(b'A' - 1, ns));
assert!(needs_encoding(b'Z' + 1, ns));
assert!(needs_encoding(b'a' - 1, ns));
assert!(needs_encoding(b'z' + 1, ns));
assert!(needs_encoding(b'0' - 1, ns));
assert!(needs_encoding(b'9' + 1, ns));
assert!(needs_encoding(b'_' - 1, ns));
assert!(needs_encoding(b'_' + 1, ns));