这两天开始着手写嘀咕的iPhone应用程序,一是现在的iPhone应用程序不符合我的要求(我自己使用的一个底线,ui功能等),另一方面也是更重要的一个方面就是锻炼iPhone库的熟练度,和一些开发平台方面的测试了。
在写嘀咕这个程序的时候,需要从Web Open API得到一些信息,我发我的身份给服务器,那么服务器就会验证然后返回信息给我,那么我就可以得到消息了。但是大部分的这种API都是通过username:password再base64一下就可以了,但是Object-c里没有默认的base64的库,那么,我们就需要自己去查了。
于是我查,顺带就要说一句,真的很难查,还有很多国内的博客作者极度不负责任,转载文章不说,转载一半不说,不能运行不说,用了其他的库也不说明一下,害我浪费了3个小时找这个base64的算法,自己写肯定不太可能,不是能力问题,是时间问题,最后发现Google有一个库,可以提供使用。
我这里保证现在是绝对没有问题,而且非常方便容易使用,可不是给你两个函数让你自己去琢磨怎么使用。
下载下面的base64.zip然后皆压缩放到你的项目里面。
然后我们自己写一个方法去调用即可,很简单,我自己封装了一个类去做,这样对我来说,库里的函数就比较透明了,当然也不是必须的。在我当前机器上可以使用,如果有问题请联系我。
//.h文件,默认即可
#import <Foundation/Foundation.h>
#import <Foundation/Foundation.h>
@interface Utility : NSObject {
}
+ (NSString*)encodeBase64:(NSString*)input;@end
上面是头文件,下面是代码文件,我这样写是方便理解,可以自己把这个方法写到任意代码里都行。
#import "Utility.h"
//使用头文件
#import "GTMBase64.h"
{
NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
//转换到base64
data = [GTMBase64 encodeData:data];
NSString * base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
return base64String;
}
//使用头文件
#import "GTMBase64.h"
@implementation Utility
+ (NSString*)encodeBase64:(NSString*)input{
NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
//转换到base64
data = [GTMBase64 encodeData:data];
NSString * base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
return base64String;
}
@end
下次需要将字符串转换成base64的时候,直接使用encodeBase64即可。
[...] iPhone开发 – Object-c base 64编码问题 [...]
博主你好,一个关于object-c的 socket编程的问题。
如何建立一个socket连接服务器,然后发送数据给服务器,在接收从服务器返回来的响应。
谢谢了…………
[...] 参考地址: JGuoer:iPhone开发 – Object-c Base64编码问题 [...]
能相互交个朋友吗?我也从事iphone开发,qq:690563908,
Base64去找库,还不如自己写,
实现起来实际是很简单,
半小时可以搞定的.