Darei la risposta tradizionale, e davvero piuttosto noiosa di dipende .
L'accesso casuale ai singoli caratteri (glifi) in una stringa è una proprietà utile? Sì, sicuramente .
Hai bisogno di accedere ai singoli punti di codice? Immagino che potrebbe essere utile in determinate situazioni che non sono troppo elaborate se si sta facendo una vasta gestione dei dati di testo, come ad esempio l'elaborazione di testi o il rendering del testo. La normalizzazione dei dati (codifica del testo) è un altro possibile caso d'uso a cui posso pensare. Sono sicuro che ci sono anche altri buoni usi.
Deve essere in O (1) tempo? In realtà, con poche eccezioni che è improbabile che si applichino nel caso generale, non necessariamente . Se O (1) l'accesso temporale è un requisito, è probabilmente più semplice usare una codifica a lunghezza fissa come UTF-32. (E si tratterà ancora di errori di cache e di spazio di scambio, quindi per stringhe sufficientemente lunghe non sarà comunque O (1) ...:))