加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

arrays – Shell – 如何在Bash中将String转换为Byte数组

发布时间:2020-12-16 01:08:32 所属栏目:安全 来源:网络整理
导读:我在StackOverflow上发现了许多帖子,这些帖子用C,C#和其他语言覆盖了这个问题,但是没有用 Shell. 使用Bash / Shell,如何将随机字符串转换为字节数组? 我试过了: echo "some string" | xxd -r -p 但它不起作用. 我基本上想要一个字节输出 – 例如)?è?GV
我在StackOverflow上发现了许多帖子,这些帖子用C,C#和其他语言覆盖了这个问题,但是没有用 Shell.

使用Bash / Shell,如何将随机字符串转换为字节数组?

我试过了:

echo "some string" | xxd -r -p

但它不起作用.

我基本上想要一个字节输出 – 例如)?è?GV?VY?戈?#G

如果你想获得某些字符串的十六进制值,那么这有效:
$echo "testing some values"$'157' | xxd
0000000: 7465 7374 696e 6720 736f 6d65 2076 616c  testing some val
0000010: 7565 736f 0a                             ueso.

如果你只需要“普通”字符串:

$echo "testing some values"$'157' | xxd -p
74657374696e6720736f6d652076616c7565736f0a

如果您需要“反转”十六进制字符串,您可以:

$echo "74657374696e6720736f6d652076616c7565736f0a" | xxd -r -p
testing some valueso

如果你需要的是字符表示(不是十六进制),你可以这样做:

$echo "testing:"$'0111nbend test'  | od -vAn -tcx1
  t   e   s   t   i   n   g   : 001  t  n  b   e   n   d    
 74  65  73  74  69  6e  67  3a  01  09  0a  08  65  6e  64  20
  t   e   s   t  n
 74  65  73  74  0a

要么:

$echo "testing:"$'0111nbend test'  | od -vAn -tax1
  t   e   s   t   i   n   g   : soh  ht  nl  bs   e   n   d  sp
 74  65  73  74  69  6e  67  3a  01  09  0a  08  65  6e  64  20
  t   e   s   t  nl
 74  65  73  74  0a

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读