読み込んでいます...

这两天开始着手写嘀咕的iPhone应用程序,一是现在的iPhone应用程序不符合我的要求(我自己使用的一个底线,ui功能等),另一方面也是更重要的一个方面就是锻炼iPhone库的熟练度,和一些开发平台方面的测试了。

在写嘀咕这个程序的时候,需要从Web Open API得到一些信息,我发我的身份给服务器,那么服务器就会验证然后返回信息给我,那么我就可以得到消息了。但是大部分的这种API都是通过username:password再base64一下就可以了,但是Object-c里没有默认的base64的库,那么,我们就需要自己去查了。

于是我查,顺带就要说一句,真的很难查,还有很多国内的博客作者极度不负责任,转载文章不说,转载一半不说,不能运行不说,用了其他的库也不说明一下,害我浪费了3个小时找这个base64的算法,自己写肯定不太可能,不是能力问题,是时间问题,最后发现Google有一个库,可以提供使用。

我这里保证现在是绝对没有问题,而且非常方便容易使用,可不是给你两个函数让你自己去琢磨怎么使用。

下载下面的base64.zip然后皆压缩放到你的项目里面。

然后我们自己写一个方法去调用即可,很简单,我自己封装了一个类去做,这样对我来说,库里的函数就比较透明了,当然也不是必须的。在我当前机器上可以使用,如果有问题请联系我。 

//.h文件,默认即可
#import <Foundation/Foundation.h>

@interface Utility : NSObject {

}

+ (NSString*)encodeBase64:(NSString*)input;

@end

上面是头文件,下面是代码文件,我这样写是方便理解,可以自己把这个方法写到任意代码里都行。

#import "Utility.h"
//使用头文件
#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即可。

base64.zip (10.41 kb)

1,327路过 5评论 iPhone开发 阅读全文..
  1. 置顶的更新,文章汇总 : GuoJing's Blog | 用心对待每一行代码 @

    [...] iPhone开发 – Object-c base 64编码问题 [...]

  2. king @

    博主你好,一个关于object-c的 socket编程的问题。
    如何建立一个socket连接服务器,然后发送数据给服务器,在接收从服务器返回来的响应。

    谢谢了…………

  3. iPhone开发 – Obj-C Base64编码的方法 » nO On – AminBy's Garden @

    [...] 参考地址: JGuoer:iPhone开发 – Object-c Base64编码问题 [...]

  4. 魏鹏 @

    能相互交个朋友吗?我也从事iphone开发,qq:690563908, :)

  5. DouO @

    Base64去找库,还不如自己写,
    实现起来实际是很简单,
    半小时可以搞定的.

:-D :-? 8) :cry: 8-O :lol: :-x :-| :?: :-P :oops: :roll: :( :) :-o :wink: more »