class Bytepack::Varbinary
Constants
- DIRECTIVE
- LENGTH_TYPE
- NULL_INDICATOR
Public Class Methods
convert_input(val)
click to toggle source
# File lib/bytepack/basic/varbinary.rb, line 28 def convert_input(val) val.to_s.encode("ascii-8bit") end
pack(val)
click to toggle source
# File lib/bytepack/basic/varbinary.rb, line 8 def pack(val) if val.nil? AnyType.pack(self::NULL_INDICATOR) else val = convert_input(val) self::LENGTH_TYPE.pack(val.bytesize) + val end end
unpack(bytes, offset = 0)
click to toggle source
# File lib/bytepack/basic/varbinary.rb, line 17 def unpack(bytes, offset = 0) length, offset = *self::LENGTH_TYPE.unpack(bytes, offset) case length when self::NULL_INDICATOR then [nil, offset] when 0 then ["", offset] else offset, format = *preprocess(bytes, offset, self::DIRECTIVE, length) [bytes.unpack1(format), offset] end end