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
原文地址:https://www.cnblogs.com/strengthen/p/10091038.html
时间: 2024-10-17 17:27:40