我有一些内容,例如2ofsjw0234lnc.jpgt2m03fcsmaokwf.jpgn
想要编码为URL参数,因此我使用bellowed的代码。
NSString * attachsString = [_attachments stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
输出是2ofsjw0234lnc.jpg%5ct2m03fcsmaokwf.jpg%5cn
这不是我想要的, 2ofsjw0234lnc.jpg%092m03fcsmaokwf.jpg%0d%0a
,逃生角色不会按照我的意愿进行转换。仅转换了" "。
那么您可以提供一些建议?
如果将 t
放入字符串文字中,则在编译时,将其转换为选项卡。然后stringByAddingPercentEscapesUsingEncoding:
将选项卡转换为%09
。但是,如果在运行时,字符串具有两个字符t
,那么这与其他两个字符没有任何不同。在这种情况下,stringByAddingPercentEscapesUsingEncoding:
只需看到后斜线并将其转换为%5c
。
如果要在运行时转换t
或n
字符串(不是字符),则应使用:
// note the double backslash for the tab
string = [string stringByReplacingOccurrencesOfString:@"\t" withString:@"%09"];
重复n
。