首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

怎的把这一段字符串转换成123456

2013-01-14 
怎样把这一段字符串转换成123456NSString *str@313233343536//这是123456的ascii码怎样把这一段字符串

怎样把这一段字符串转换成123456
NSString *str=@"313233343536";//这是123456的ascii码
怎样把这一段字符串转换成123456呢
NSString *string = [NSString stringWithFormat:@"%c", asciiCode]; // 
[解决办法]
- (NSString *)TextFromAsciiCodesString:(NSString *)string
{
    NSArray *components = [string componentsSeparatedByString:@" "];
    NSUInteger len = [components count];
    char new_str[len+1];
    
    int i;
    for (i = 0; i < len; ++i)
        new_str[i] = [[components objectAtIndex:i] intValue];
    
    new_str[i] = '\0';
    
    return [NSString stringWithCString:new_str
                              encoding:NSASCIIStringEncoding];
}
转换后输出就是123456
[解决办法]


NSString *str=@"495051525354";
    const char* cstr = [str UTF8String];
    printf("%s\n", cstr);

    
    char result[strlen(cstr) / 2 + 1];
    int resultIdx = 0;
    for(int i=0; i<strlen(cstr); i+=2){
        char* tmp = malloc(3);
        tmp[0] = cstr[i];
        tmp[1] = cstr[i+1];
        tmp[2] = '\0';
        int a = atoi(tmp);
        //printf("%d\n", a);
        result[resultIdx++] = a;
        free(tmp);
    }
    result[strlen(cstr) / 2] = '\0';
    printf("%s\n", result);



你的ASCII码是错的
[解决办法]

NSString *str=@"495051525354";
    const char* cstr = [str UTF8String];
    printf("%s\n", cstr);

    
    char result[strlen(cstr) / 2 + 1];
    int resultIdx = 0;
    for(int i=0; i<strlen(cstr); i+=2){
        char* tmp = malloc(3);
        tmp[0] = cstr[i];
        tmp[1] = cstr[i+1];
        tmp[2] = '\0';
        int a = atoi(tmp);
        //printf("%d\n", a);
        result[resultIdx++] = a;
        free(tmp);


    }
    result[strlen(cstr) / 2] = '\0';
    printf("%s\n", result);




ios开发超级群,高手和高手之间的交流,来者注明来自CSDN:43146334
[解决办法]
楼主的ASCII码没错,是16进制的

热点排行