我需要在String
常量中使用不可打印的字符,但是Xcode在我的快速文件中显示错误,显示为“在源文件中找到不可打印的ASCII字符”
我的简单代码在下面
let unprintableCharInString = "12345"
您可能会在上述字符串值的前缀和后缀中看到无法打印的字符,如果您只是复制,则将我的以上代码粘贴到Sublime文本或其他支持显示不可打印字符的文本编辑器中。
但是,如果将上述代码粘贴到Xcode swift文件中,则会看到编译器错误“在源文件中找到无法打印的ASCII字符” 。
如果我在目标C中使用如下所示的相同字符串,则不会出现错误。
NSString *unprintableCharInString = @"12345";
那么如何像上面的Objective C代码一样直接在Swift字符串变量中使用不可打印的字符?
注意: 在保存我的问题时,由于正文文本框修剪了这些不可打印的字符,因此如果您从此处复制粘贴代码,则看不到这些字符。而不是尝试通过编辑我的问题来复制上面的代码。因此,您可以在编辑过程中在“正文”文本框中获取这些字符。
谢谢!
答案 0 :(得分:1)
要显示空格字符,可以使用XCode Editor > Show Invisibles
。但是我不太确定这对您的情况有帮助。
答案 1 :(得分:1)
基于上述评论中@Alladinian的建议,
答案是:我们需要在声明字符串值的同时在源代码中手动添加不可打印的ASCII字符。
示例:
let unprintableCharInString = "\u{02}123\u{1A}"
这里\u{02}
是“文本开始(STX)”的十六进制值,\u{1A}
是“ SUBSTITUTE(SUB)”的十六进制值
感谢@Alladinian!