04-21-2006 09:45
The CSV format was designed as a mechanism of marshalling a list of strings into a string REVERSIBLY. Every legal CSV-formatted list should be able to return to the original list.

What the Linden llList2CSV produces is not a correct CSV, and it may not even be a legal CSV. They need to provide a corrected version, or add something like llList2Base64 and llBase642List.

Eg:

llList2CSV(["a",",","b"]) produces 'a,,,b' which reverses to ["a","","","","b"].

It should produce 'a,",",b'.

Kludges like using llDumpList2String with "unlikely" separators work, most of the time, but they produce longer lists and are still potentially subject to quoting exploits if you know the separators they use.