I am building a command string to send over Bluetooth and need two things: the character at position 3 and the length of the string in bytes. text[3] does not compile, and text.count does not match the number of bytes that arrive at the other end once the text contains accented letters or emoji.
Why does Swift make string indexing this awkward, and what is the correct way to get a character by position and the byte length?




