【问题标题】:How to convert binary to bytes in bash如何在bash中将二进制转换为字节
【发布时间】:2019-01-14 16:30:38
【问题描述】:

如何将下面的go代码转成bash

    data, _ := base64.StdEncoding.DecodeString("nJpGBA==")
    fmt.Println(data)

    //Output
    [156 154 70 4]

我到了这里

    echo nJpGBA== |base64 -d 

https://play.golang.org/p/OfyztKQINg9

【问题讨论】:

  • 你期望什么输出?和 Go 中的一样吗?

标签: arrays bash base64


【解决方案1】:

不是完全匹配,但是:

echo nJpGBA== |base64 -d  | od -A n -t u1

输出:156 154 70 4

注意前导空格和多个空格之间。

其他解决方案。将其分配给数组:

val_array=( $(echo nJpGBA== |base64 -d  | od -A n -t u1) )
echo "${val_array[@]}"

输出:156 154 70 4

od 命令转储所有二进制文件,默认情况下为八进制值。这里它从标准输入读取,因为没有给出文件。

  • -A n 禁止输出字节地址
  • -t u1 打印一个字节的无符号小数

【讨论】:

  • 非常好。你能解释一下od 标志吗?无论输入是什么,它都会起作用还是您需要调整标志?
猜你喜欢
  • 2017-11-22
  • 2017-04-03
  • 2012-07-16
  • 2021-12-20
  • 1970-01-01
  • 2013-03-06
  • 1970-01-01
  • 2022-12-09
  • 1970-01-01
相关资源
最近更新 更多