gpt4 book ai didi

ruby - 从字符串中解析字节码?

转载 作者:数据小太阳 更新时间:2023-10-29 08:09:04 24 4
gpt4 key购买 nike

我遇到这样一种情况,我收到的字节码字符串如下所示:

"\\x00\\x00\\xff\n"

字节码中的\被转义的地方。我真的很想使用这样的字符串:

"\\x00\\x00\\xff\n"

然后像我对这个字符串那样从中获取字节:

"\x00\x00\xff".bytes # => [ 0, 0, 255 ]

如何更好地处理该字符串?

它是从另一个系统通过 UDP 发送的,所以我真的只能访问它,就像它到达时的乱七八糟的转义字符串一样。

最佳答案

可能有更优雅的方式,但这应该可以帮助您入门:

a= "\\x00\\x00\\xff\n"
a.scan(/\\x([0-9a-f][0-9a-f])/).flatten.collect{|x| x.to_i(16)} # => [ 0, 0, 255 ]

to.i(16) 将从十六进制字符串转换为十进制。

您似乎想要插入转义序列。

我知道这可以使用 eval 完成,但不要。我认为也可以通过 YAML 完成。

eval("\"#{a}\"").strip.bytes.to_a # => [ 0, 0, 255]  # don't use this.

只是希望能在这里激发出更好的答案。

关于ruby - 从字符串中解析字节码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20205527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com