class CFPropertyList::CFData

This class contains binary data values

def decoded_value

get base64 decoded value
def decoded_value
  @raw_value ||= Blob.new(Base64.decode64(@value))
end

def encoded_value

get base64 encoded value
def encoded_value
  @value ||= "\n#{Base64.encode64(@raw_value).gsub("\n", '').scan(/.{1,76}/).join("\n")}\n"
end

def initialize(value=nil,format=DATA_BASE64)

set value to defined state, either base64 encoded or raw
def initialize(value=nil,format=DATA_BASE64)
  if(format == DATA_RAW)
    @raw_value = value
  else
    @value = value
  end
end

def to_binary(bplist)

convert to binary
def to_binary(bplist)
  bplist.data_to_binary(decoded_value())
end

def to_plain(plist)

def to_plain(plist)
  "<" + decoded_value.unpack("H*").join("") + ">"
end

def to_xml(parser)

convert to XML
def to_xml(parser)
  n = parser.new_node('data')
  n = parser.append_node(n, parser.new_text(encoded_value()))
  n
end