Swift 3 implements Unicode in its String structure. In Unicode, all flags are pairs of Regional Indicator Symbols . So, π©πͺ actually π© followed by πͺ (try copying two and pasting them next to each other!).
When two or more regional indicator symbols are placed next to each other, they form an "expanded grapheme cluster", which means that they are considered as one symbol. That's why "πͺπΊ = π«π·πͺπΈπ©πͺ...".characters gives you ["πͺπΊ", " ", "=", " ", "π«π·πͺπΈπ©πͺ", ".", ".", "."] .
If you want to see every single Unicode code point (AKA "scalar"), you can use .unicodeScalars , so "Hiπ©πͺ!".unicodeScalars gives you ["H", "i", "π©", "πͺ", "!"]
TL; DR
π©πͺ is one character (both in Swift and Unicode), which consists of two code points (AKA scanners). Do not forget that these are different! π
see also
source share