Converting to Char/String from Ascii Int in Swift

后端 未结 3 1352
萌比男神i
萌比男神i 2021-01-17 17:22

I\'m trying to convert the integer representation of an ascii character back into a string.

string += (char) int;

In other languages like J

3条回答
  •  伪装坚强ぢ
    2021-01-17 17:56

    It may not be as clean as Java, but you can do it like this:

    var string = ""
    string.append(Character(UnicodeScalar(50)))
    

    You can also modify the syntax to look more similar if you like:

    //extend Character so it can created from an int literal
    extension Character: IntegerLiteralConvertible {
        public static func convertFromIntegerLiteral(value: IntegerLiteralType) -> Character {
            return Character(UnicodeScalar(value))
        }
    }
    
    //append a character to string with += operator
    func += (inout left: String, right: Character) {
        left.append(right)
    }
    
    var string = ""
    string += (50 as Character)
    

    Or using dasblinkenlight's method:

    func += (inout left: String, right: Int) {
        left += "\(UnicodeScalar(right))"
    }
    var string = ""
    string += 50
    

提交回复
热议问题