NSString是UTF-16編碼的, 也就是16位的unichar字符的序列. 所以, 壹般遍歷其每壹個字符的方法就是:
對於“?”這種Emoji,是用2個16位unichar來表示,它的Unicode是U+1F44D, 用(U+D83D U+DC4D)兩個字符來表示。
幸好,NSString的rangeOfComposedCharacterSequencesForRange:和rangeOfComposedCharacterSequenceAtIndex:兩個方法可以用來處理這種情況.
壹次遍歷壹個子串, 而不是遍歷壹個unichar了.
更多: iOS面試題合集