如何删除目标c中base64字符串之间的空白?
Posted
技术标签:
【中文标题】如何删除目标c中base64字符串之间的空白?【英文标题】:How to remove WhiteSpace between base64 string in objective c? 【发布时间】:2016-06-21 07:22:38 【问题描述】:我提到了remove whitespaces from base64 encoded string when posting,但我仍然有这个问题
我目前正在使用以下代码:
NSString *TrimBase64String=[base64String stringByReplacingOccurrencesOfString:@" " withString:@""];
【问题讨论】:
也许你可以显示一个示例数据? MyString=cdkajcfkncjfkheohfnjdenjcvnbjdncvjfdkjashnfdncldknvfkrlvnklrnvslkdvnfdlskv APIstring=cdkajcfkncjfkheohfnjdenjcvnb jdncvjfdkja shnfdncldknvfkrlvn klrnvslkdvnd @MacBoy - 你能详细说明你的问题吗?您要删除所有空格还是仅删除多个空格 所有空格@gagansharma @MacBoy - 我测试 stringByReplacingOccurrencesOfString 正在删除所有空格,为了进一步调查,请分享您的代码 sn-ps 或您正在修改的确切字符串... 【参考方案1】:Easy Peasy,使用这条线:
NSString *TrimBase64String=[base64String stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
【讨论】:
这应该只删除开头或结尾的空白字符,而不是中间的空白字符。【参考方案2】:使用以下代码行使用 Base64 编码创建 NSString
以避免空格,然后将其发布:
NSString *strbase64 = [YourNSData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
在这里查看答案,可能会有所帮助:
encode image to base64, get a invalid base64 string (ios using base64EncodedStringWithOptions)
【讨论】:
【参考方案3】:我尝试了很多方法,最后发现问题的原因是字符\r
\r = CR (Carriage Return) // 在 X 之前的 Mac OS 中用作换行符`
[yourBase64String stringByReplacingOccurrencesOfString:@"\r" withString:@""];
【讨论】:
以上是关于如何删除目标c中base64字符串之间的空白?的主要内容,如果未能解决你的问题,请参考以下文章