Sorry, I edited the post with more examples. Capitalized letters names in the middle, e.g. "JohnESmith" for "John E. Smith"?
Note that owners would choose their array, i.e. how they wish to normalize their own name(s). In most countries it would probably be issued by the State, though.
But hey that's a joke, a thought experiment at best; I think strings with spaces are perfectly fine. The concept of a defining single string for a name (implying order is fixed, forever) is however good. In practice it's already what most contacts apps let you do — input first, last, middle, handle, etc. and define order to display, but it's generally a global setting; it could be granular (per contact), with quick/helper rules per nationality for instance.
I'm not sure we'll ever solve this linguistic and cultural matter only using technology though. ;-)
Edit (final, promise): I simply move that:
- people choose what are "valid" representations of their name (owner decides, others conform)
- systems make it easy for others (people, systems) to pick one (by default you'd assume item 0 in the array).