Ruby 打印与特定十六进制值关联的ASCII字符

Ruby 打印与特定十六进制值关联的ASCII字符,ruby,shell,hex,Ruby,Shell,Hex,我知道使用Perl我可以做如下事情: bash$> perl -e 'print "\x48"x40;' => HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 尝试在Ruby中执行此操作: bash$> ruby -e "40.times{ print("0x48") }" => 7272727272727272727272727272727272727272727272727272727272727272727272727272727

我知道使用Perl我可以做如下事情:

bash$> perl -e 'print "\x48"x40;'
=> HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
尝试在Ruby中执行此操作:

bash$> ruby -e "40.times{ print("0x48") }"
=> 72727272727272727272727272727272727272727272727272727272727272727272727272727272
....    
bash$> ruby -e "40.times{ print(48.to_s(16)) }"
=> 30303030303030303030303030303030303030303030303030303030303030303030303030303030
....
bash$> ruby -e "40.times{ print('48'.hex) }"
=> 72727272727272727272727272727272727272727272727272727272727272727272727272727272

如何在shell中使用Ruby和-e选项来打印一些字符计数,使用十六进制字符,如\x48是H?

如果您试图打印与特定十六进制值关联的ASCII字符,如使用Perl所做的:

40.times{ print "\x48" }
# >> HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

这意味着您可以:

ruby -e 'print "\x48" * 40'
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

Ruby有很多缺点。在这种情况下,与Perl相比,Ruby中使用*更为一致,Perl使用x表示字符,使用*表示数学。

如果您试图像使用Perl一样打印与特定十六进制值关联的ASCII字符:

40.times{ print "\x48" }
# >> HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

这意味着您可以:

ruby -e 'print "\x48" * 40'
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

Ruby有很多缺点。在这种情况下,与Perl相比,Ruby中使用*更为一致,Perl使用x表示字符,使用*表示数学。

您还可以使用以下命令:

ruby -e "print('48'.hex.chr)"

您还可以使用以下选项:

ruby -e "print('48'.hex.chr)"

有一个问题我不知道吗?@天曼我只想用十六进制打印ruby的字符序列。有一个问题我不知道吗?@天曼我只想用十六进制打印ruby的字符序列。