2016-10-17 88 views
-2

我正在嘗試獲取ascii中的字符值以及索引處的字符。Swift:從字符串中獲取字符(ascii值)

我有這個Objective-C任何人都會知道轉換爲swift

po [strToSort characterAtIndex:i] // character x 
U+0078 u'x' 
po [strToSort UTF8String][i] 
x 

我真的很感謝你的幫忙。

回答

0

如果我理解你的問題吧,你想在一個特定的指數,以得到一個字符串的ASCII值:

let str = "x" as NSString 
let asciiVal = str.character(at: 0) 
print("String: \(str) ASCII: \(asciiVal)") // String: x ASCII: 120 
0

更新:你可以直接標串與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屬性來獲取每個字符的代碼點。