class CFPropertyList::Binary

def string_to_binary(val)

Uniques and transforms a string value to binary format and adds it to the object table
def string_to_binary(val)
  val = val.to_s
  @unique_table[val] ||= begin
    if !Binary.ascii_string?(val)
      val = Binary.charset_convert(val,"UTF-8","UTF-16BE")
      bdata = Binary.type_bytes(0b0110, Binary.charset_strlen(val,"UTF-16BE"))
      val.force_encoding("ASCII-8BIT") if val.respond_to?("encode")
      @object_table[@written_object_count] = bdata << val
    else
      bdata = Binary.type_bytes(0b0101,val.bytesize)
      @object_table[@written_object_count] = bdata << val
    end
    @written_object_count += 1
    @written_object_count - 1
  end
end