#命令行 #网络 #命令行工具 #数据 #URL #解析器 #生成

bin+lib dataurl

CLI工具和Rust库,用于解析和生成数据URL

4个版本

0.1.2 2021年10月30日
0.1.1 2021年10月23日
0.1.0 2021年10月22日
0.0.1 2021年10月18日

#2615 in 解析实现

Download history 303/week @ 2024-03-13 348/week @ 2024-03-20 203/week @ 2024-03-27 177/week @ 2024-04-03 213/week @ 2024-04-10 193/week @ 2024-04-17 324/week @ 2024-04-24 223/week @ 2024-05-01 218/week @ 2024-05-08 260/week @ 2024-05-15 245/week @ 2024-05-22 171/week @ 2024-05-29 115/week @ 2024-06-05 175/week @ 2024-06-12 120/week @ 2024-06-19 161/week @ 2024-06-26

605每月下载次数
3个crate中使用(通过cargo-cog

CC0许可

22KB
471

dataurl build status on GNU/Linux dataurl build status on macOS dataurl build status on Windows

dataurl

CLI工具/Rust库,用于将文件和文本转换为数据URL及其反向转换


安装

使用Cargo

cargo install dataurl

使用容器

docker build -t Y2Z/dataurl .
sudo install -b dist/run-in-container.sh /usr/local/bin/dataurl

从源代码

git clone https://github.com/Y2Z/dataurl.git
cd dataurl
make install

使用预构建的二进制文件(Windows、基于ARM的设备等)

每个版本都包含Windows、GNU/Linux以及具有非标准CPU架构的平台的预构建二进制文件。


使用(CLI)

dataurl "some text"
dataurl -d 'data:text/html,text<a id%3D"b">ok</a>?a=v#f' > index.html
dataurl -i picture.png
cat file.txt | dataurl -i -
cat file.png | dataurl

使用(crate)

use dataurl::DataUrl;

let data_url: DataUrl = DataUrl::parse("data:,Hello,%20World!")?;

assert_eq!(data_url.get_media_type(), "text/plain".to_string());
assert_eq!(data_url.get_media_type_no_default(), None);
assert_eq!(data_url.get_charset(), "US-ASCII".to_string());
assert_eq!(data_url.get_charset_no_default(), None);
assert!(!data_url.get_is_base64_encoded());
assert_eq!(data_url.get_data(), [72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33]);
assert_eq!(data_url.get_fragment(), None);
assert_eq!(data_url.to_string(), "data:,Hello%2C%20World%21");
assert_eq!(data_url.get_text(), "Hello, World!");

标志和选项

  • -b: 使用base64编码数据

  • -: 尝试解析输入,输出结果数据

  • -: 使用自定义charset

  • -: 添加fragment

  • -: 指定file读取数据(使用-表示STDIN)

  • -: 调整media type


参考


许可

在法律允许的范围内,作者(s)将此软件的所有版权及相关邻接权奉献给全世界公众领域。此软件分发时不附带任何保证。

依赖

~5.5MB
~178K SLoC