CLI tool / Rust crate for converting files and text into data URLs and back
dataurl "some text"dataurl -d 'data:text/html,text<a id%3D"b">ok</a>?a=v#f' > index.htmldataurl -b -i picture.pngcat file.txt | dataurl -i - -o - | dataurl -dcat file.png | dataurl-b: Encode data using base64-c: Use customcharset-d: Attempt to parse input, output resulting data-f: Appendfragment-i: Specifyfileto read data from (use-for STDIN)-o: Providefileto write output to (use-for STDOUT)-t: Adjustmedia type
use dataurl::DataUrl;
let data_url: DataUrl = DataUrl::parse("data:,Hello,%20World!")?;
assert_eq!(data_url.media_type(), "text/plain".to_string());
assert_eq!(data_url.media_type_no_default(), None);
assert_eq!(data_url.charset(), "US-ASCII".to_string());
assert_eq!(data_url.charset_no_default(), None);
assert!(!data_url.is_base64_encoded());
assert_eq!(data_url.data(), [72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33]);
assert_eq!(data_url.fragment(), None);
assert_eq!(data_url.to_string(), "data:,Hello%2C%20World%21");
assert_eq!(data_url.text(), "Hello, World!");Using Cargo
cargo install dataurlUsing containers
docker build -t Y2Z/dataurl .
sudo install -b dist/run-in-container.sh /usr/local/bin/dataurlgit clone https://github.com/Y2Z/dataurl.git
cd dataurl
make installUsing pre-built binaries (Windows, ARM-based devices, etc)
Every release contains pre-built binaries for Windows, GNU/Linux, as well as platforms with non-standart CPU architecture.
To the extent possible under law, the author(s) have dedicated all copyright related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.