【发布时间】:2011-10-07 13:24:00
【问题描述】:
我正在尝试将图像上传到服务器的数据库中。
我已经做到了
- 使用 UIImageJPEGReprenstation 将图像转换为 nsdata。
- 使用 base64lib 将 nsdata 转换为 nstring。
这里的问题是我拥有的 nsstring 是 NSASCII 编码的。
因此,默认打开的 ssl 转换器无法读取文件并将其转换为服务器端的正确图像。
所以我需要的是
我从 nsdata 创建的 nsstring 不能使用 nsascii 或 nsutf8 或其他东西进行编码,因为图像数据是二进制的。
或者
在服务器端,我必须将数据从 nsascii 或我在客户端编码的任何方式解码回二进制文件。但这里的问题是我没有任何用于 ascii 解码的内置 api。
【问题讨论】:
-
这个问题没有意义。您说您对二进制数据进行了 base64 处理,因此您可以将其放入字符串中。 base64 的输出是 ASCII 的一个子集,所以很自然地,字符串最终会被编码为 ASCII。究竟是什么问题?你只需要在服务器上 un-base64 它。
-
问题是当我在服务器上解码文本数据时,它被正确解码,但我猜二进制数据被双重编码并且没有被正确解码。
标签: iphone objective-c image nsstringencoding