I'm touching up the XAct.Web.Controls.ListManager which uses some ClientSide script to manage the ICallBackHandler related stuff...which is not the point of this post.
The point of this post is that I'm using a single TextBox to PostBack a string of text:value;text:value;text:value pairs (the serialized text/value pairs within a ListBox), and when one sends back data like that one quickly runs in to the question of:
"What chars should I use for dividers?"
If you started coding around 2000A.D. you were breast-fed at the CSS udder, and the first set of chars that come to mind might be the ':' and ';' which would do fine for simple cases...but sooner or later,you would have to write a parser for more complex situations -- one that could handle quoted ':' and escaped chars...
If you go back before that, when VB6 and 5 were in vogue (cough!), you might prefer CSV stuff, so the next natural choices would be maybe ('\t' or ',') AND '|', and you still would get all lost in some kind of parser trying to handle exotic quotes, escaped quotes, etc...
Then if you're really old...when computers fit into ...well...my first computer had 1k of memory...so you couldn't even dream of fitting a parser into anything, and you just had to solve it a different way.
Enter ASCII (before it became un-PC to have any acronym start with the word "American") and you'll find these 4 chars:
| Code | ASCII | Meaning |
| FS | 28 | File Separator |
| GS | 29 | Group Separator |
| RS | 30 | Row Separator |
| US | 31 | Unit Separator (ie Field Separator) |
FS, btw, was from even before my time, when things were on tape reels... I'm long in the tooth, but not that old...geez!
The point is...when transmitting data between computers, you don't have to have a human readable format: using non-printable chars means you don't have to worry about escaping or quoting or any other peculiarity.
Oh...and if you want to see what it was like back in the days of dinosaurs...you can download, and run (oh! the geek joy!) this fantastic job of a ZX-81 emulator...with pops, squeaks, and awful graphics...(you really had to be there to understand what was so damn great about it... 1 friggin K of memory! Yahoo!!!! )
