将 ASCII 字符值的字符串转换为 swift 2 中的实际字符串(最新测试版)
Converting String of ASCII character values to actual string in swift 2 (latest beta)
有很多关于类似主题的帖子,但我还没有找到我正在寻找的内容
我有一串 ASCII 字符值,可以将其转换为字符串
例如,如果我有
let asciiString = "45 56 54 44 45 52 52 44 50 49 57 49 44 49 52"
那么最终它应该转换为
let resultString = "-86,-44,2191,14"
到目前为止工作...
这是我目前所掌握的
let asciiStringWithSpaces = "45 56 54 44 45 52 52 44 50 49 57 49 44 49 52"
// Convert string into array
let asciiArray = split(asciiStringWithSpaces.characters) { [=13=] == " "}.map(String.init)
print(asciiArray)
// Convert into an array of Characters
let charArray = Array(asciiArray).map{ String(Character(UnicodeScalar(UInt32([=13=])!))) }
// Convert into an array of Strings
let stringArray = Array(asciiArray).map{ Character(UnicodeScalar(UInt32([=13=])!))}
// What do i do now? -
我尝试使用 Reduce 来组合所有字符串,但似乎无法正常工作。
我正在使用 Xcode 7 Beta 4
你的charArray
是String
的数组,你的stringArray
是
一个 Character
的数组,所以似乎有些混乱。
反正可以用字符数组,稍微简化为
let charArray = asciiArray.map { Character(UnicodeScalar(UInt32([=10=])!)) }
然后从该数组创建一个字符串:
let string = String(charArray)
print(string)
// -86,-44,2191,14
有很多关于类似主题的帖子,但我还没有找到我正在寻找的内容
我有一串 ASCII 字符值,可以将其转换为字符串
例如,如果我有
let asciiString = "45 56 54 44 45 52 52 44 50 49 57 49 44 49 52"
那么最终它应该转换为
let resultString = "-86,-44,2191,14"
到目前为止工作...
这是我目前所掌握的
let asciiStringWithSpaces = "45 56 54 44 45 52 52 44 50 49 57 49 44 49 52"
// Convert string into array
let asciiArray = split(asciiStringWithSpaces.characters) { [=13=] == " "}.map(String.init)
print(asciiArray)
// Convert into an array of Characters
let charArray = Array(asciiArray).map{ String(Character(UnicodeScalar(UInt32([=13=])!))) }
// Convert into an array of Strings
let stringArray = Array(asciiArray).map{ Character(UnicodeScalar(UInt32([=13=])!))}
// What do i do now? -
我尝试使用 Reduce 来组合所有字符串,但似乎无法正常工作。
我正在使用 Xcode 7 Beta 4
你的charArray
是String
的数组,你的stringArray
是
一个 Character
的数组,所以似乎有些混乱。
反正可以用字符数组,稍微简化为
let charArray = asciiArray.map { Character(UnicodeScalar(UInt32([=10=])!)) }
然后从该数组创建一个字符串:
let string = String(charArray)
print(string)
// -86,-44,2191,14