# File lib/rpm/tag.rb, line 280
  def value
    if !@value
      # TODO(sissel): Handle @count of string_array, int32, etc?
      case type
        when :string
          # string at offset up to first null
          @value = @data[@offset .. -1][/^[^\0]+/]
        when :i18nstring
          # string at offset up to first null
          @value = @data[@offset .. -1][/^[^\0]+/]
        when :string_array
          @value = @data[@offset .. -1].split("\0")[0 ... @count]
        when :binary
          @value = @data[@offset, @count]
        when :int32
          @value = @data[@offset, 4 * count].unpack("N" * count)
        when :int16
          @value = @data[@offset, 2 * count].unpack("n" * count)
      end # case type
    end # if !@value

    return @value
  end