haracterAtIndex:i 这个方法的作用是
返回索引i 所在UniCode 字符 而不是字串
所以应该是
unichar strxmlchar=[strcs characterAtIndex:i];
接收字符
并且format要以%C(大写字母C)的形式
NSString *strcs=@"猜猜看";
NSString *str=@"";
for(int i=0;i<strcs.length;i++){
unichar strxmlchar=[strcs characterAtIndex:i];
str=[NSStringstringWithFormat:@"%C",strxmlchar];
NSLog(@"%C",strxmlchar);
}
为你推荐的另一种方法
for(int i=0;i<strcs.length;i++){
str=[strcs substringWithRange:NSMakeRange(i, 1)];
NSLog(@"%@",str);
if ([str isEqualToString:@"看"]) {
NSLog(@"%@是指定字符",str);
}
}
//订单类---拼接request Url
- (NSMutableURLRequest *)requestWithOrderMethod:(NSString *)method andPara:(NSString *)para
{
NSString *stringUrl = [NSString stringWithFormat:@"%@/%@",kOrderURL,method];
NSString *encodeStr = [stringUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:encodeStr];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0f];
[request setHTTPMethod:@"POST"];
DLog(@"订单请求Url = %@",url);
//application/x-www-form-urlencoded
// [request setValue:@"text/html; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:[[self requestBodyWithMethod:method parameters:para] dataUsingEncoding:NSUTF8StringEncoding]];
return request;
}
//构造参数
- (NSString *)requestBodyWithMethod:(NSString *)method parameters:(NSString *)parameters
{
NSString * gStr = nil;
if(parameters.length != 0)
{
gStr = [NSString stringWithFormat:@"%@&UserName=%d&sign=%@",parameters,111111,[self signKey:parameters method:method]];
}
else
{
gStr = [NSString stringWithFormat:@"UserName=%d&sign=%@",111111,[self signKey:parameters method:method]];
}
DLog(@"构造参数str = %@",gStr);
return gStr;
}
//后台定的加密规则
- (NSString*)signKey:(NSString *)params method:(NSString *)method
{
NSMutableString *paramMustr = [NSMutableString string];
NSString *sKey ;
NSString *result ;
if(params.length != 0)
{
NSMutableArray *paramsMuArr = [[NSMutableArray alloc] init];
for (int i = 0; i<params.length; i++)
{
unichar c = [params characterAtIndex:i];
NSString * cStr = [NSString stringWithCharacters:&c length:1];
[paramsMuArr addObject:cStr];
}
NSArray *paramsArr = [paramsMuArr sortedArrayUsingSelector:@selector(compare:)];
for (int j = 0; j<[paramsArr count]; j++)
{
[paramMustr appendString:paramsArr[j]];
}
// NSLog(@"排序 = %@",paramMustr);
//拼接
sKey = [NSString stringWithFormat:@"%@%@%@%@%@",@"111111",@"111111",method,@"111111",paramMustr];
//MD5加密
result = [sKey md5Hash];
}
else
{
//拼接
sKey = [NSString stringWithFormat:@"%@%@%@%@",@"111111",@"111111",method,@"111111"];
//MD5加密
result = [sKey md5Hash];
}
return result;
}