Implement Base64 read.
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
#![allow(dead_code)]
|
||||
use crate::bytes::Bytes;
|
||||
use std::str;
|
||||
|
||||
@@ -33,6 +34,25 @@ impl BytesBase64 {
|
||||
)
|
||||
}
|
||||
|
||||
pub fn to_bytes(&self) -> Bytes {
|
||||
Bytes(vec![])
|
||||
}
|
||||
|
||||
pub fn from_base64(s: &str) -> BytesBase64 {
|
||||
let mut r: Vec<u8> = Vec::with_capacity(s.len());
|
||||
for c in s.chars() {
|
||||
match c {
|
||||
'A'..='Z' => r.push((c as u8) - ('A' as u8)),
|
||||
'a'..='z' => r.push((c as u8) - ('a' as u8) + 26),
|
||||
'0'..='9' => r.push((c as u8) - ('0' as u8) + 52),
|
||||
'+' => r.push(62),
|
||||
'/' => r.push(63),
|
||||
_ => (),
|
||||
}
|
||||
}
|
||||
BytesBase64(r)
|
||||
}
|
||||
|
||||
pub fn to_string(&self) -> String {
|
||||
let BytesBase64(digits) = self;
|
||||
let mut r: Vec<u8> = digits
|
||||
|
||||
Reference in New Issue
Block a user