diff options
Diffstat (limited to 'src/bin/1.rs')
-rw-r--r-- | src/bin/1.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/bin/1.rs b/src/bin/1.rs new file mode 100644 index 0000000..3378e65 --- /dev/null +++ b/src/bin/1.rs @@ -0,0 +1,25 @@ +extern crate "rustc-serialize" as serialize; + +use std::io::prelude::*; +use serialize::base64::{ToBase64,STANDARD}; +use serialize::hex::FromHex; + +fn main () { + loop { + let mut buf = [0; 6]; + let len = match std::io::stdin().read(&mut buf) { + Ok(n) => n, + Err(e) => panic!("{}", e), + }; + if len == 0 { + break; + } + let hex = std::str::from_utf8(&buf[..len]).unwrap(); + let bytes = match hex.from_hex() { + Ok(b) => b, + Err(e) => panic!("{}", e), + }; + let base64 = bytes.to_base64(STANDARD); + print!("{}", base64); + } +} |