def bytesize(data = {})
      case tags[:type]
      when nil
        (size(data) || 8) / 8
      when :short, :int, :long
        BYTES_IN_STRING.fetch tags[:type]
      when :float
        if tags[:precision] == :double
          BYTES_IN_STRING[:float_double]
        else
          BYTES_IN_STRING[:float_single]
        end
      when :null
        size(data) || 1
      when :string
        size(data)
      else
        0
      end
    end
def bytesize(data = {})
      case tags[:type]
      when nil
        (size(data) || 8) / 8
      when :short, :int, :long
        BYTES_IN_STRING.fetch tags[:type]
      when :float
        if tags[:precision] == :double
          BYTES_IN_STRING[:float_double]
        else
          BYTES_IN_STRING[:float_single]
        end
      when :null
        size(data) || 1
      when :string
        size(data)
      else
        0
      end
    end
The number of bytes this takes up in the resulting packed string.

 @param (see #to_s)
 @return [Numeric]