如何在 Swift 字符串中写入所有 ASCII 字符

Lan*_*ard 1 string ascii swift

尝试找到最短/最紧凑的方法将 Swift 中的 ASCII 字符写成单个字符串。例如,在 JavaScript 中,您可以将'\\x00'ASCII 中的 0 等价于十进制,也可以编写'\\0,即短 2 个字符。因此,如果您有很多这些字符,文件大小就会缩小 2 倍。

\n\n

想知道如何在 Swift 中将 ASCII 字符 0-31 和 127 写入单个字符串中,以便将它们最小化。在 JavaScript 中,这看起来像这样:

\n\n
'\\0...\\33abcdef...\\127\xc2\xa1\xc2\xa2\xc2\xa3\xc2\xa4\xc2\xa5\xc2\xa6\xc2\xa7\xc2\xa8\xc2\xa9\xc2\xaa\xc2\xab\xc2\xac\xc2\xad\xc2\xae\xc2\xaf\xc2\xb0\xc2\xb1\xc2\xb2\xc2\xb3\xc2\xb4\xc2\xb5\xc2\xb6\xc2\xb7\xc2\xb8\xc2\xb9\xc2\xba\xc2\xbb\xc2\xbc\xc2\xbd...'\n
Run Code Online (Sandbox Code Playgroud)\n

rma*_*ddy 6

一般来说,您将使用十六进制值\u{x}where 。x在你的情况下\u{0}通过\u{1f}\u{7f}.

与基于 C 的语言一样,Swift 字符串也支持\0“null”、\t“tab”、\n“换行符”和\r“回车符”。与 C 不同,Swift 不支持\bor \f

如果您想创建单个遗嘱String所有 128 个 ASCII 字符,那么您可以这样做:

let ascii = String(Array(0...127).map { Character(Unicode.Scalar($0)) })
Run Code Online (Sandbox Code Playgroud)