class CFPropertyList::Binary
def string_to_binary(val)
def string_to_binary(val) saved_object_count = -1 unless(@unique_table.has_key?(val)) then saved_object_count = @written_object_count @written_object_count += 1 @unique_table[val] = saved_object_count utf16 = !Binary.ascii_string?(val) utf8_strlen = 0 if(utf16) then utf8_strlen = Binary.charset_strlen(val, "UTF-8") 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[saved_object_count] = bdata + val else utf8_strlen = val.bytesize bdata = Binary.type_bytes(0b0101,val.bytesize) @object_table[saved_object_count] = bdata + val end else saved_object_count = @unique_table[val] end return saved_object_count end