我正在尝试通过套接字发送一系列二进制字节,以满足我公司使用的特定标准。我公司中没有人以前使用过 Ruby 来实现这一点,但在其他语言中,他们一次发送一个字节的数据(通常使用某种“打包”方法)。
无论如何,我找不到动态创建二进制文件,或者根本无法创建字节(我能找到的最接近的方法是如何将字符串转换为表示其字符的字节)。
我知道你可以这样说:
@var = 0b101010101
但是,如何将“101010101”形式的字符串或将 string.to_i(2) 执行时创建的结果整数转换为实际的二进制文件。如果我只是通过套接字发送字符串,那不是只发送“0”和“1”的 ASCII 而不是文字字符吗?
当然有某种方法可以在 Ruby 中本地执行此操作吗?
不知道这是否有足够的帮助,但您可以在 ruby 中对整数中的位进行索引。
n = 0b010101
n # => 21
n = 21
n[0] # => 1
n[1] # => 0
n[2] # => 1
n[3] # => 0
n[4] # => 1
n[5] # => 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)