Это может казаться странным, но я начал писать код путем автоматизации задач и анализа данных в моем прежнем задании. Это было выполнено путем записи тогда изучения кода сгенерированный макрос Excel. Конечно, этот подход предполагает, что можно учиться через VB.
Это не отвечает на Ваш исходный вопрос, но я предположил бы, что много людей, приезжающих вот, вместо того, чтобы смотреть на поворот, шестнадцатеричный к фактическому "0s и 1 с" двоичный выход, к декодируют шестнадцатеричный к представление строки байтов (в духе таких утилит как hex2bin
). По сути, вот хороший метод для того, чтобы сделать точно что:
def hex_to_bin(hex)
# Prepend a '0' for padding if you don't have an even number of chars
hex = '0' << hex unless (hex.length % 2) == 0
hex.scan(/[A-Fa-f0-9]{2}/).inject('') { |encoded, byte| encoded << [byte].pack('H2') }
end
Возвращение для преобразовывания в шестнадцатеричную систему снова намного легче:
def bin_to_hex(bin)
bin.unpack('H*').first
end