C++ (Base64エンコード)
// Base64 は CLX C++ Libraries // http://clx.cielquis.net/index.html or https://github.com/clown/clx を利用 #include "./clx/base64.h" #include <fstream> int main(int argc, char *argv[]) { std::string filename = "./data_file_name"; // Base64を取得したいファイル名 std::ifstream ifs(filename.c_str(), std::ios::in | std::ios::binary); if (!ifs) { std::cout << "ファイルが見つかりませんでした" << std::endl; return 1; } ifs.seekg(0, std::ios::end); long long int dat_size = ifs.tellg(); ifs.seekg(0); char *dat = new char[dat_size]; ifs.read(dat, dat_size); std::cout << clx::base64::encode(dat, dat_size); }
C++ (Base64デコード)
// Base64 は CLX C++ Libraries // http://clx.cielquis.net/index.html or https://github.com/clown/clx を利用 #include "./clx/base64.h" #include <fstream> int main(int argc, char *argv[]) { std::string filename = "./base64_text_data"; // デコードしたいBase64ファイル名 std::string output_filename = "./decode_data"; // 出力ファイル名 std::ifstream ifs(filename.c_str(), std::ios::in | std::ios::binary); if (!ifs) { std::cout << "ファイルが見つかりませんでした" << std::endl; return 1; } std::string dat = std::string( std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>() ); std::ofstream ofs(output_filename, std::ios_base::binary); std::ostreambuf_iterator<char> output(ofs); clx::base64::decode(dat.begin(), dat.end(), output); }
Ruby (Base64エンコード)
require "base64" filename = "./data_file_name" # Base64を取得したいファイル名 dat = File.read(filename) print Base64.encode64(dat)
Ruby (Base64デコード)
require "base64" filename = "./base64_text_data" # デコードしたいBase64ファイル名 output_filename = "./decode_data" # 出力ファイル名 dat = File.read(filename) File.open(output_filename, "w") { |f| f.write(Base64.decode64(dat)) }
Crystal (Base64エンコード)
require "base64" filename = "./data_file_name" # Base64を取得したいファイル名 dat = File.read(filename) print Base64.encode(dat)
Crystal (Base64デコード)
require "base64" filename = "./base64_text_data" # デコードしたいBase64ファイル名 output_filename = "./decode_data" # 出力ファイル名 dat = File.read(filename) File.open(output_filename, "w") { |f| f.write(Base64.decode(dat)) }
Rust (Base64エンコード)
// base64クレート -> https://crates.io/crates/base64 use std::io::prelude::*; fn main() { let filename: &str = "./data_file_name"; // Base64を取得したいファイル名 let mut f = std::fs::File::open(filename).expect("ファイルが見つかりませんでした"); let mut dat = Vec::new(); f.read_to_end(&mut dat).expect("ファイルの読み込みで問題が発生しました"); print!("{}", base64::encode(dat)); }
Rust (Base64デコード)
// base64クレート -> https://crates.io/crates/base64 use std::io::Write; fn main() { let filename: &str = "./base64_text_data"; // デコードしたいBase64ファイル名 let output_filename: &str = "./decode_data"; // 出力ファイル名 let dat = std::fs::read_to_string(&filename).expect("ファイルを読み込めませんでした"); let bytes = base64::decode(dat).expect("デコード作業に失敗しました"); let mut f = std::fs::File::create(&output_filename).expect("ファイルの確保に失敗しました"); f.write_all(&bytes).expect("ファイルの書き出しに失敗しました"); }
Python3 (Base64エンコード)
import base64 filename = "./data_file_name" # Base64を取得したいファイル名 dat = open(filename, "rb").read() print(base64.b64encode(dat).decode("utf-8"), end="")
Python3 (Base64デコード)
import base64 filename = "./base64_text_data" # デコードしたいBase64ファイル名 output_filename = "./decode_data" # 出力ファイル名 dat = open(filename, "rb").read() with open(output_filename, "wb") as f: f.write(base64.b64decode(dat))
Node.js (Base64エンコード)
'use strict' const filename = "./data_file_name" // Base64を取得したいファイル名 process.stdout.write( require("fs").readFileSync(filename, 'base64') );
Node.js (Base64デコード)
'use strict' const fs = require("fs"); const filename = "./base64_text_data" // デコードしたいBase64ファイル名 const output_filename = "./decode_data" // 出力ファイル名 const dat = fs.readFileSync(filename, 'utf8'); fs.promises.writeFile(output_filename, dat, { encoding: "base64" });
C# (Base64エンコード)
String filename = "./data_file_name"; // MD5を取得したいファイル名 byte[] dat = File.ReadAllBytes(filename); Console.Write(Convert.ToBase64String(dat));
C# (Base64デコード)
String filename = "./base64_text_data"; // デコードしたいBase64ファイル名 String output_filename = "./decode_data"; // 出力ファイル名 String dat = System.IO.File.ReadAllText(filename, System.Text.Encoding.UTF8); using (var fs = new FileStream(output_filename, FileMode.Create)) using (var bw = new BinaryWriter(fs)) { bw.Write(Convert.FromBase64String(dat)); }