2016-10-17 55 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属性来获取每个字符的代码点。