如何删除目标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字符串之间的空白?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 BMP 格式图像的 Base64 字符串

c语言如何实现16进制字符串转换为 base64

如何在 C# 中实现 Base64 URL 安全编码?

从base64数据字符串保存画布图像服务器端时,它会产生空白图像

新选项卡中的 Base64 PDF 显示刷新前的空白页

如何使用正则表达式匹配gzinflate(base64_decode(