summaryrefslogtreecommitdiffstats
path: root/src/bin/1.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/1.rs')
-rw-r--r--src/bin/1.rs25
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);
+ }
+}