> * Newer languages expose strings as an array of Unicode code points, which is cleaner because it's independent of any particular encoding.
Don't do that (the array part). Guaranteeing O(1) indexing isn't very useful but precludes efficient storage.