Avatar
@swift-4.2.4 @swift-5.0.3 import Foundation func printOffset(_ string: String, as name: String) { let offset = string.endIndex.encodedOffset print(""" endIndex.encodedOffset is \(offset) that same with \( offset == string.utf8.distance(from: string.startIndex, to: string.endIndex) ? "utf8" : offset == string.utf16.distance(from: string.startIndex, to: string.endIndex) ? "utf16" : "unknown" ) offset (\(name)) """) } let string = "😀" printOffset(string, as: "String") let nsstring = NSString(data: string.data(using: .utf8)!, encoding: String.Encoding.utf8.rawValue)! as String printOffset(nsstring, as: "String created by NSString API") (edited)