class Rex::Java::Serialization::Model::LongUtf
This class provides a Long Utf
string representation
Public Instance Methods
decode(io)
click to toggle source
Deserializes a Rex::Java::Serialization::Model::LongUtf
@param io [IO] the io to read from @return [self] if deserialization succeeds @raise [Rex::Java::Serialization::DecodeError] if deserialization doesn't succeed
# File lib/rex/java/serialization/model/long_utf.rb, line 14 def decode(io) raw_length = io.read(8) if raw_length.nil? || raw_length.length != 8 raise Rex::Java::Serialization::DecodeError, 'Failed to unserialize LongUtf' end self.length = raw_length.unpack('Q>')[0] if length == 0 self.contents = '' else self.contents = io.read(length) if contents.nil? || contents.length != length raise Rex::Java::Serialization::DecodeError, 'Failed to unserialize LongUtf' end end self end
encode()
click to toggle source
Serializes the Rex::Java::Serialization::Model::LongUtf
@return [String]
# File lib/rex/java/serialization/model/long_utf.rb, line 36 def encode encoded = [length].pack('Q>') encoded << contents encoded end