我正在嘗試獲取ascii中的字符值以及索引處的字符。Swift:從字符串中獲取字符(ascii值)
我有這個Objective-C
任何人都會知道轉換爲swift
?
po [strToSort characterAtIndex:i] // character x
U+0078 u'x'
po [strToSort UTF8String][i]
x
我真的很感謝你的幫忙。
我正在嘗試獲取ascii中的字符值以及索引處的字符。Swift:從字符串中獲取字符(ascii值)
我有這個Objective-C
任何人都會知道轉換爲swift
?
po [strToSort characterAtIndex:i] // character x
U+0078 u'x'
po [strToSort UTF8String][i]
x
我真的很感謝你的幫忙。
如果我理解你的問題吧,你想在一個特定的指數,以得到一個字符串的ASCII值:
let str = "x" as NSString
let asciiVal = str.character(at: 0)
print("String: \(str) ASCII: \(asciiVal)") // String: x ASCII: 120
更新:你可以直接標串與Index
斯威夫特沒有按」允許您使用整數索引來標記String
。相反,你可以構造一個指數來傳遞。
let str = "String with some characters"
let index = str.startIndex.advancedBy(5)
let character = str[index]
print(character) // "g"
有關,爲什麼你不能把字符串作爲字符的直接序列的更多信息,你可以找到更多信息here。
基本上,要正確符合unicode,有時可以組合多個字符以在最終字符串中創建單個字符。這會導致天真計數和索引問題。
如果你想要一個utf8表示字符串,String
提供了一個utf8
屬性以及一個unicodeScalars
屬性來獲取每個字符的代碼點。