从Swift中的Ascii Int转换为Char/String

Kil*_*ian 10 string ascii integer swift

我正在尝试将ascii字符的整数表示形式转换回字符串.

string += (char) int;
Run Code Online (Sandbox Code Playgroud)

在像Java这样的其他语言(这里的例子)中,我可以将整数转换为char.Swift显然不知道这些,我猜测使用所有强大的NSString以某种方式将能够做到这一点.

Con*_*nor 26

它可能不像Java那么干净,但你可以这样做:

var string = ""
string.append(Character(UnicodeScalar(50)))
Run Code Online (Sandbox Code Playgroud)

如果您愿意,还可以修改语法以使其更相似:

//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)
Run Code Online (Sandbox Code Playgroud)

或者使用dasblinkenlight的方法:

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

  • 他也可以使用`s + ="\(UnicodeScalar(x))"` (6认同)