我想了解如何让Ruby使用字节数组线索
以下代码是C#:
int t = (GetTime() / 60) //t is time in seconds divided by 60s (1 min)
byte[] myArray = new byte[64];
myArray[0] = (byte)(t >> 24);
myArray[1] = (byte)(t >> 16);
知道如何让它在Ruby中运行吗?
答案 0 :(得分:1)
一种方法是使用整数数组并使用Array#pack
将结果打包成二进制字符串。 E.g。
[65, 66, 67].pack('C*')
返回ABC
另一种方法是在编码设置为“ASCII-8BIT”
时直接操作字符串答案 1 :(得分:0)
Ruby可以执行按位操作,您可以使用普通数组,因此我没有看到问题。 我目前不使用C#,因此我无法检查结果是否相同。
t = Time.now.to_i / 60 #t is time in seconds divided by 60s (1 min)
myArray = []
myArray[0] = t >> 24
myArray[1] = t >> 16
p myArray #=>[1, 360]