Strings in Swift 4

It sounds like what you want is to operate directly on the unicode scalars instead of graphemes. String has a UnicodeScalarView, which lazily decodes the contents for this purpose. If you want to make it eager, you can say Array(myStr.unicodeScalars).

If you need control concerning normalization, that could be added. If so, feel free to start a pitch for this functionality.

edit: code formatting