Avatar
いま確認していて一つ勘違いしていたのが、 utf8.index(_, offsetBy: 1) は、「1つ次のUTF8文字」に行くと思ってたけど、そうじゃなくて、1バイト進む、なんですね・・・
8:08 AM
let str = "こんにちは!" let u8str = str.utf8 u8str[u8str.index(u8str.startIndex, offsetBy: 0)] // 227 u8str[u8str.index(u8str.startIndex, offsetBy: 1)] // 129 u8str[u8str.index(u8str.startIndex, offsetBy: 2)] // 147 u8str[u8str.index(u8str.startIndex, offsetBy: 3)] // 227 u8str[u8str.index(u8str.startIndex, offsetBy: 4)] // 130 u8str[u8str.index(u8str.startIndex, offsetBy: 5)] // 147