मैं [NSData bytes]
के माध्यम से एक-एक करके कैसे सक्रिय कर सकता हूं और उन्हें NSMutableString
में जोड़ सकता हूं या NSLog()
का उपयोग करके उन्हें प्रिंट कर सकता हूं?NSData बाइट्स के माध्यम से Iterate
उत्तर
बल्कि एक परिवर्तनशील स्ट्रिंग के लिए बाइट्स जोड़कर से, एक स्ट्रिंग डेटा का उपयोग कर बनाने के लिए:
// Be sure to use the right encoding:
NSString *result = [[NSString alloc] initWithData:myData encoding:NSUTF8StringEncoding];
आप वास्तव में बाइट्स के माध्यम से लूप करना चाहते हैं:
NSMutableString *result = [NSMutableString string];
const char *bytes = [myData bytes];
for (int i = 0; i < [myData length]; i++)
{
[result appendFormat:@"%02hhx", (unsigned char)bytes[i]];
}
अद्यतन! आईओएस 7 के बाद, एनएसडीटा ऑब्जेक्ट में सभी बाइट्स के माध्यम से फिर से शुरू करने के लिए एक नया, पसंदीदा तरीका है।
एक NSData
अब हुड के नीचे कई संबंध तोड़ना बाइट सरणी मात्रा से बना जा सकता है, बुला [NSData bytes]
कभी कभी स्मृति-अक्षम हो सकता है, क्योंकि यह फोन करने वाले के लिए एक एकल बाइट सरणी में अंतर्निहित हिस्सा के सभी समतल की जरूरत है।
इस व्यवहार से बचने के लिए, एनएसडेटा की enumerateByteRangesUsingBlock:
विधि का उपयोग करके बाइट्स को गिनना बेहतर है, जो मौजूदा अंतर्निहित हिस्सों की श्रेणियों को वापस कर देगा, जिन्हें आप बिना किसी नई सरणी संरचनाओं को उत्पन्न किए बिना सीधे पहुंच सकते हैं। बेशक, आपको सावधान रहना होगा कि प्रदान की गई सी-स्टाइल सरणी में अनुपयुक्त रूप से पोकिंग न करें।
NSMutableString* resultAsHexBytes = [NSMutableString string];
[data enumerateByteRangesUsingBlock:^(const void *bytes,
NSRange byteRange,
BOOL *stop) {
//To print raw byte values as hex
for (NSUInteger i = 0; i < byteRange.length; ++i) {
[resultAsHexBytes appendFormat:@"%02x", ((uint8_t*)bytes)[i]];
}
}];
- 1. एक सी सरणी के माध्यम से Iterate
- 2. नेस्टेड जावास्क्रिप्ट ऑब्जेक्ट्स के माध्यम से Iterate
- 3. डेल्फी 2010 में अनुक्रमित संपत्ति के माध्यम से Iterate
- 4. एक पेड़ दृश्य में नोड्स के माध्यम से पुनरावर्ती Iterate?
- 5. मनमानी आयाम की एक सरणी के माध्यम से Iterate
- 6. वर्णमाला की सूची के माध्यम से xsl iterate
- 7. 2 आयामी सरणी के माध्यम से Iterate C#
- 8. एक वीबी 6 शब्दकोश के माध्यम से Iterate
- 9. परिवर्तित NSData
- 10. nsdictionary से nsdata
- 11. NSData
- 12. NSData
- 13. डेल्फी: रिकॉर्ड में बाइट्स के माध्यम से लूप
- 14. उनकी घोषणा के क्रम में वर्ग सदस्यों के माध्यम से Iterate
- 15. सभी पत्तियों को खोजने के लिए बाइनरी सर्च पेड़ के माध्यम से Iterate
- 16. Iterate * args?
- 17. JsonObject गुणों पर Iterate
- 18. NSData कन्वर्ट हेक्स NSString में
- 19. सभी चेक किए गए बॉक्स के माध्यम से Jquery Iterate और कक्षा
- 20. ListView के माध्यम से Iterate और EditText-Field मान प्राप्त करें
- 21. कैसे nsdata
- 22. कैसे किसी को भी <code>NSData</code> से बाइट्स पढ़ने के लिए एक विधि बता सकते हैं NSData
- 23. NSData एनएसएसटींग कनवर्टन समस्या के लिए!
- 24. बाइट्स
- 25. Django मॉडल iterate फ़ील्ड
- 26. एनएसडीटा बाइट सरणी के किसी अन्य NSData प्रकार
- 27. NSData से बनाए गए UIImages UIViewContentMode
- 28. NSData से NSString को कैसे परिवर्तित करें?
- 29. से 16 बाइट्स
- 30. NSURLConnection बनाम NSData + GCD
doSomethingWithChar लाइन को क्या होना चाहिए उदा। अगर मैं एक एनएसएमयूटेबलस्ट्रिंग को बाइट के हेक्साडेसिमल प्रतिनिधित्व को जोड़ना चाहता हूं? – yannis
क्या होगा अगर nsdata वास्तव में एक स्ट्रिंग नहीं है? क्या होगा यदि इसमें 0x00 बाइट शामिल है, तो आप पूरे डेटा के माध्यम से पुन: सक्रिय नहीं हो पाएंगे। –