SWIFT 3 - 将整数转换为字符

时间:2017-03-24 01:43:56

标签: swift swift3

我想尝试看起来像这样:

http://www.example.com/page.php?model=%7Bmodel%7D

如何将行的值转换为字符 此外,我还在考虑使用col并将其添加到64作为ASCII值,或者将其添加到41作为unicode字符。我真的不在乎哪种方式。

有谁知道我怎么能这样做?

  1 2 3 4 5 6 7 8 9 10 
A * * * * * * * * * * 
B * * * * * * * * * * 
....until J

2 个答案:

答案 0 :(得分:1)

您可以扩展Int以返回所需的关联字符,如下所示:

extension Int {
    var associatedCharacter: Character? {
        guard 1...10 ~= self, let unicodeScalar = UnicodeScalar(64 + self) else { return nil }
        return Character(unicodeScalar)
    }
}



1.associatedCharacter    // A
2.associatedCharacter    // B
3.associatedCharacter    // C
10.associatedCharacter   // J
11.associatedCharacter   // nil

答案 1 :(得分:0)

(联合国)幸运的是,Swift非常努力地将“字符”的概念,您在屏幕上阅读的内容以及基础ASCII表示分开,原因在于处理复杂文本时变得非常重要。 (“a”之后是什么字母?取决于你说的是什么语言。)

最有可能的,你想要的是增加 UnicodeScalar 值,“常规”文本对应于ASCII编码。

let first = UnicodeScalar("A").value
board[row][col] = String(Character(UnicodeScalar(first + UInt32(row))!))

额外的步骤和可选的展开是Swift提醒你在“增加”一封信时可能出错的所有事情。