base64编码问题 需要对每个参数URL编码
- (NSString *)encodeToPercentEscapeString: (NSString *) input { // Encode all the reserved characters, per RFC 3986 // (<http://www.ietf.org/rfc/rfc3986.txt>) NSString *outputStr = (NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)input, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8); return outputStr; } - (NSString *)decodeFromPercentEscapeString: (NSString *) input { NSMutableString *outputStr = [NSMutableString stringWithString:input]; [outputStr replaceOccurrencesOfString:@"+" withString:@" " options:NSLiteralSearch range:NSMakeRange(0, [outputStr length])]; return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; }
NSString *aa = [self encodeToPercentEscapeString:@"测试测试"]; NSString *bb = [self encodeToPercentEscapeString:@"7.88"]; NSString *postStr =[NSString stringWithFormat:@"orderDesc=%@&orderAmt=%@",aa,bb]; NSString *base64Str= [GTMBase64 encodeBase64String:postStr];