Как читать длинные данные из ZooKeeper в Ruby
Я использую ZK Gem для чтения данных из ZooKeeper. Это хорошо работает, когда я получаю строковые данные в znode, но если это длинные данные, я получаю байтовый массив и не могу преобразовать в длинную переменную. Я пробовал Array#pack, но это не сработало.
Данные хранятся как байтовый массив с прямым порядком байтов в Java.
1 ответ
Решение
Наконец, я могу преобразовать байты в длинный в моем пути.
l = 0
bytes.each_byte do |byte|
l = l << 8
l ^= byte & 0xff
end