2013-08-29 39 views
9

Tôi chưa thể tìm ra cách chuyển đổi NSString thành int. Tôi đang cố gắng để chuyển đổi ASCII vào văn bản, nhưng để làm điều đó tôi cần phải chuyển đổi một chuỗi thành một int.Chuyển chuỗi thành int-goal c

Tôi thấy thật kỳ lạ rằng đây không phải là bất kỳ nơi nào trực tuyến hoặc trong ngăn xếp ngăn xếp. Tôi chắc rằng tôi không phải là người trực tuyến cần điều này.

Cảm ơn bạn đã trợ giúp.

P.S. Nếu đây giúp đây là mã tôi đang sử dụng để chuyển đổi sang ASCII:

+ (NSString *) decodeText:(NSString *)text { 
    NSArray * asciiCode = [text componentsSeparatedByString:@"|"]; 
    int i = 0; 
    NSMutableString *decoded; 

    while (i < ([asciiCode count]-1)) { 

     NSString *toCode = [asciiCode objectAtIndex:i]; 
     int codeInt = toCode; 
     NSString *decode = [NSString stringWithFormat:@"%c", codeInt]; 
     [decoded appendString:decode]; 

    } 

    return decoded; 
} 
+0

Tôi đã xem rất nhiều câu hỏi nhưng không thể tìm thấy câu trả lời. Đó là lý do tại sao tôi hỏi. – DonyorM

Trả lời

32

Để phân tích chuỗi để nguyên bạn nên làm:

NSString *a = @"123abc"; 
NSInteger b = [a integerValue]; 
+0

Bạn có thể làm điều đó với một int là tốt. Cảm ơn bạn đã giúp đỡ. – DonyorM

+0

gr8 ... hãy tận hưởng mã hóa –

5

lẽ fractionally off-topic, nhưng chuyển đổi sang ASCII bạn chỉ có thể sử dụng:

[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] 

Hoặc trong ví dụ của bạn:

return [text dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

Điều này sẽ trả về một NSData mà bạn có thể lặp qua để có được một chuỗi đại diện của ASCII (s cho mỗi phương pháp của bạn) nếu đây là những gì bạn yêu cầu.

Lý do sử dụng phương pháp này là do NSString có thể lưu trữ các ký tự không phải ASCII, tất nhiên bạn sẽ mất chi tiết, nhưng cho phép cờ allowLossyConversion sẽ cố khắc phục điều này. Theo the Apple documentation:

Ví dụ, trong việc chuyển đổi một nhân vật từ NSUnicodeStringEncoding để NSASCIIStringEncoding, nhân vật ‘a’ trở thành ‘A’, mất giọng.

+0

để tôi thêm vào chuỗi nào tôi muốn chuyển đổi ở đâu? – DonyorM

+0

@DonyorM dataUsingEncoding ... là phương thức bạn gọi * trên * chuỗi. (Tôi sẽ cập nhật câu trả lời của mình.) –

+0

Cảm ơn, xin lỗi một số chức năng bắt đầu với "NSString" Chủ yếu là tôi là một noob. – DonyorM

Các vấn đề liên quan