2013-08-29 9 views
9

में कनवर्ट करें, मैं यह समझने में सक्षम नहीं हूं कि एनएसएसटींग को एक int में कैसे परिवर्तित किया जाए। मैं ASCII को टेक्स्ट में बदलने की कोशिश कर रहा हूं, लेकिन ऐसा करने के लिए मुझे एक स्ट्रिंग को int में बदलने की आवश्यकता है।स्ट्रिंग को int-purpose c

मुझे यह वास्तव में अजीब लगता है कि यह कहीं भी ऑनलाइन या स्टैक ओवरफ़्लो में नहीं है। मुझे यकीन है कि मैं ऑनलाइन नहीं हूं जिसकी आवश्यकता है।

मदद के लिए अग्रिम धन्यवाद।

पीएस यहाँ यह मदद करता है कोड मैं 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

मैंने बहुत सारे प्रश्नों को देखा, लेकिन मुझे कोई जवाब नहीं मिला। इसीलिए मैंने पूछा। – DonyorM

उत्तर

32

पूर्णांक स्ट्रिंग पार्स करने के लिए आपको क्या करना चाहिए:

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

आप इसे एक int के साथ भी कर सकते हैं। मदद के लिए धन्यवाद। – DonyorM

+0

gr8 ... कोडिंग का आनंद लें –

5

शायद आंशिक रूप से विषय से हटकर, लेकिन ASCII कन्वर्ट करने के लिए तुम सिर्फ इस्तेमाल कर सकते हैं:

[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] 

या अपने उदाहरण में:

return [text dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

यह एक एनएसडीटा वापस करेगा जो आप ASCII (आपकी विधि प्रति प्रति) के स्ट्रिंग प्रस्तुति को प्राप्त करने के लिए कर सकते हैं यदि आपको इसकी आवश्यकता हो।

इस दृष्टिकोण का उपयोग करने का कारण यह है कि एनएसएसटींग गैर-ASCII वर्णों को स्टोर कर सकता है, आप निश्चित रूप से विस्तार से हार जाएंगे, लेकिन allowLossyConversion ध्वज को सक्षम करने से इसे दूर करने का प्रयास किया जाएगा। the Apple documentation के अनुसार:

उदाहरण के लिए, NSASCIIStringEncoding, चरित्र को NSUnicodeStringEncoding से एक चरित्र परिवर्तित करने में 'ए' बन जाता है 'ए', लहजे खोने।

+0

तो मैं स्ट्रिंग में कहां जोड़ूं जिसे मैं परिवर्तित करना चाहता हूं? – DonyorM

+0

@DonyorM dataUsingEncoding ... एक विधि है जिसे आप स्ट्रिंग पर * कॉल करते हैं। (मैं अपना जवाब अपडेट करूंगा।) –

+0

धन्यवाद, क्षमा करें कुछ फ़ंक्शन "एनएसएसटींग" से शुरू होते हैं, अधिकांशतः मैं एक नोब हूं। – DonyorM

संबंधित मुद्दे