2010-05-14 69 views
34

tôi đã tự hỏi nếu có ai có chức năng tương đương php sau trong Objective-C để phát triển iPhone:Làm thế nào để chuyển đổi giá trị ASCII thành một ký tự trong Objective-C?

  1. ord() # trả về giá trị ASCII của ký tự đầu tiên của một chuỗi.
  2. chr() # trả về một ký tự từ giá trị ASCII được chỉ định.

Rất cám ơn!

+0

Điều gì sẽ xảy ra nếu chuỗi chứa ký tự không phải ASCII? – Mark

Trả lời

109

Đây là cách bạn có thể làm việc với các giá trị ASCII và NSString. Lưu ý rằng kể từ khi NSString đang làm việc với unichars, có thể có kết quả không mong muốn cho một chuỗi không phải ASCII.

// NSString to ASCII 
NSString *string = @"A"; 
int asciiCode = [string characterAtIndex:0]; // 65 

// ASCII to NSString 
int asciiCode = 65; 
NSString *string = [NSString stringWithFormat:@"%c", asciiCode]; // A 
+1

Điều này làm việc hoàn hảo cho tôi cảm ơn bạn! – topace

11
//char to int ASCII-code 
char c = 'a'; 
int ascii_code = (int)c; 

//int to char 
int i = 65; // A 
c = (char)i; 
+2

char trong c là một "nhỏ hơn" int vì vậy bạn không cần phải cast char để int – Kimi

+0

Cảm ơn luvieere cho câu trả lời! Nhiều đánh giá cao. – topace

+0

Cảm ơn, nó đã hoạt động với giá trị âm ngay cả ví dụ: nếu int i = 223, thì bạn nhận được kết quả đầu ra của char c là -33 –

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