为什么不将 base16 添加到 coreutils 中?
Why not add a base16 into coreutils?
base32 和 base64 CLI 实用程序都是 gnu coreutils 的一部分。那么,为什么不添加一个 base16 呢?
GNU coreutils 是免费的。人们非常、非常努力地工作,却没有付出任何代价。您完全免费使用它。你捐了多少钱?捐出它们。如果你想要什么就付钱给他们。
Why not add a base16 into coreutils?
它需要工作,包括实施,但主要是永无止境的维护。如果不需要某些东西,最好不要添加它并减少工作并专注于重要的事情。维护当前命令,使它们与所有系统保持同步并保持一致和正常工作,这一点更为重要。有些人甚至说,(尤其是在开源项目中)项目负责人最重要的是决定拒绝哪些功能,而不是添加哪些功能。
那么,在 GNU coreutils 中实现 然后无休止地维护 base16 实用程序,您要支付多少钱?
在我看来,这是因为十六进制编码使被编码的数据量加倍。这种方法被认为是不合适的。
P.S. Here 是提供 base16 编码的控制台工具的 C# 示例。应用程序输入可以从文件、命令行、键盘或根据所谓的“Unix 方式”软件通过重定向来自另一个控制台应用程序的输出来获得。不幸的是,它使用 Windows API 但可以重新设计为 Linux。
写剧本和同样的想法...
刚刚查看了 coreutils 中的新闻。 https://github.com/coreutils/coreutils/blob/master/NEWS
他们似乎在 8.31 版 (2019-03-10) 中添加了 basenc
** New commands -
basenc is added to complement existing base64,base32 commands,
and encodes and decodes printable text using various common encodings:
base64,base64url,base32,base32hex,base16,base2,z85.
有一个命令是有意义的...我过去用其他方法做过 xxd、hexdump 等...
所以他们有点做了。只需使用 basenc --base16
*编辑,实际上这三个都是相同的源代码
https://github.com/coreutils/coreutils/blob/master/src/local.mk
src_base64_SOURCES = src/basenc.c
src_base64_CPPFLAGS = -DBASE_TYPE=64 $(AM_CPPFLAGS)
src_base32_SOURCES = src/basenc.c
src_base32_CPPFLAGS = -DBASE_TYPE=32 $(AM_CPPFLAGS)
src_basenc_SOURCES = src/basenc.c
src_basenc_CPPFLAGS = -DBASE_TYPE=42 $(AM_CPPFLAGS)
base32 和 base64 CLI 实用程序都是 gnu coreutils 的一部分。那么,为什么不添加一个 base16 呢?
GNU coreutils 是免费的。人们非常、非常努力地工作,却没有付出任何代价。您完全免费使用它。你捐了多少钱?捐出它们。如果你想要什么就付钱给他们。
Why not add a base16 into coreutils?
它需要工作,包括实施,但主要是永无止境的维护。如果不需要某些东西,最好不要添加它并减少工作并专注于重要的事情。维护当前命令,使它们与所有系统保持同步并保持一致和正常工作,这一点更为重要。有些人甚至说,(尤其是在开源项目中)项目负责人最重要的是决定拒绝哪些功能,而不是添加哪些功能。
那么,在 GNU coreutils 中实现 然后无休止地维护 base16 实用程序,您要支付多少钱?
在我看来,这是因为十六进制编码使被编码的数据量加倍。这种方法被认为是不合适的。
P.S. Here 是提供 base16 编码的控制台工具的 C# 示例。应用程序输入可以从文件、命令行、键盘或根据所谓的“Unix 方式”软件通过重定向来自另一个控制台应用程序的输出来获得。不幸的是,它使用 Windows API 但可以重新设计为 Linux。
写剧本和同样的想法...
刚刚查看了 coreutils 中的新闻。 https://github.com/coreutils/coreutils/blob/master/NEWS
他们似乎在 8.31 版 (2019-03-10) 中添加了 basenc
** New commands - basenc is added to complement existing base64,base32 commands, and encodes and decodes printable text using various common encodings: base64,base64url,base32,base32hex,base16,base2,z85.
有一个命令是有意义的...我过去用其他方法做过 xxd、hexdump 等...
所以他们有点做了。只需使用 basenc --base16
*编辑,实际上这三个都是相同的源代码 https://github.com/coreutils/coreutils/blob/master/src/local.mk
src_base64_SOURCES = src/basenc.c
src_base64_CPPFLAGS = -DBASE_TYPE=64 $(AM_CPPFLAGS)
src_base32_SOURCES = src/basenc.c
src_base32_CPPFLAGS = -DBASE_TYPE=32 $(AM_CPPFLAGS)
src_basenc_SOURCES = src/basenc.c
src_basenc_CPPFLAGS = -DBASE_TYPE=42 $(AM_CPPFLAGS)