1. 程式人生 > >[Swift]字符串根據索引獲取指定字符,依據ASCII編碼實現字符和整數的快速轉換

[Swift]字符串根據索引獲取指定字符,依據ASCII編碼實現字符和整數的快速轉換

for in 獲取 iso col and p s nat sel 通用

技術分享圖片

ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。 它是現今最通用的單字節編碼系統,並等同於國際標準ISO/IEC 646。 請註意,ASCII是American Standard Code for Information Interchange縮寫,而不是ASCⅡ(羅馬數字2),有很多人在這個地方產生誤解。 在Swift中實現:字符串根據索引獲取指定字符,依據ASCII編碼,實現字符和整數的快速轉換 首先擴展相應類的方法:
 1
extension String { 2 //subscript函數可以檢索數組中的值 3 //直接按照索引方式截取指定索引的字符 4 subscript (_ i: Int) -> Character { 5 //讀取字符 6 get {return self[index(startIndex, offsetBy: i)]} 7 8 //修改字符 9 set 10 { 11 var str:String = self
12 var index = str.index(startIndex, offsetBy: i) 13 str.remove(at: index) 14 str.insert(newValue, at: index) 15 self = str 16 } 17 } 18 } 19 20 //Character擴展方法 21 extension Character 22 { 23 //屬性:ASCII整數值(定義小寫為整數值) 24 var
ascii: Int { 25 get { 26 let s = String(self).unicodeScalars 27 return Int(s[s.startIndex].value) 28 } 29 } 30 } 31 32 //Int擴展方法 33 extension Int 34 { 35 //屬性:ASCII值(定義大寫為字符值) 36 var ASCII:Character 37 { 38 get {return Character(UnicodeScalar(self)!)} 39 } 40 }

調用擴展方法,實現功能。示例:

 1 //字符串
 2 let str:String = "Strengthen"
 3 //根據索引獲取字符
 4 let char:Character = str[0]
 5 //根據字符獲取ASCII對應的字符整數值
 6 let num:Int = char.ascii
 7 print("\(char) ", terminator: "")
 8 print("\(num) ", terminator: "")
 9 //Print: S 83     
10       
11 //表示整數的字符串
12 let strNum:String = "88"
13 //先轉換為整數,在根據ASCII表轉換為對應字符
14 let charNum:Character = Int(strNum)!.ASCII
15 print("\(charNum) ", terminator: "")
16 //Print: X

[Swift]字符串根據索引獲取指定字符,依據ASCII編碼實現字符和整數的快速轉換