StringUnits.jl is a package which provides units for indexing strings: by codeunit, by character, by grapheme, and by textwidth.
julia> str = "aฮป๐คโ
๐จ๐ปโ๐พ!"
"aฮป๐คโ
๐จ๐ป\u200d๐พ!"
julia> str[3ch]
'๐ค': Unicode U+1F914 (category So: Symbol, other)
julia> str[1cu]
0x61
julia> str[5gr]
"๐จ๐ป\u200d๐พ"
julia> str[2ch:4ch]
"ฮป๐คโ
"
julia> str[2ch:5ch + 0gr]
"ฮป๐คโ
๐จ๐ป\u200d๐พ"
For details, see the documentation