2011-05-25 11 views
5

क्या कोई फ़ाइल एक्सटेंशन नहीं है, भले ही फ़ाइल UTI (वर्दी प्रकार पहचानकर्ता) को समझने का कोई तरीका है?फ़ाइल में कोई एक्सटेंशन नहीं होने पर फ़ाइल यूटीआई कैसे प्राप्त करें?

अभी मैं, इस तरह इसे प्राप्त जब फाइल एक्सटेंशन:

CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (CFStringRef)[file pathExtension], NULL); 

मैं शुद्ध जो मैक पर यह करने के लिए करना है पर इस स्निपेट पाया है। लेकिन मैं आईओएस में हूँ:

CFStringRef typeString = UTCreateStringForOSType(outInfo.filetype); 
itemUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, typeString, NULL); 
CFRelease(typeString); 

नोट: outInfo प्रकार LSItemInfoRecord जो आईओएस में मौजूद नहीं है की है।

+0

क्या आप ऐसी फ़ाइल का जिक्र कर रहे हैं जिसमें फ़ाइल नाम एक्सटेंशन नहीं है, लेकिन जिसमें कोई HFS + फ़ाइल प्रकार कोड सेट है? उदाहरण के लिए, एक सादा पाठ फ़ाइल जिसमें "दस्तावेज़" का फ़ाइल नाम और फ़ाइल प्रकार '' टेक्स्ट 'है? या एक फ़ाइल जिसमें कोई फ़ाइल प्रकार नहीं है और कोई फ़ाइल नाम एक्सटेंशन नहीं है? – NSGod

+0

उपयोगकर्ता द्वारा बनाई गई एक फ़ाइल (उदाहरण के लिए एक टेक्स्ट फ़ाइल) और उसके बाद एक्सटेंशन ".txt" को "myDocument.txt" के बजाय "myDocument" जैसा दिखने के लिए हटा दिया गया है – dontWatchMyProfile

उत्तर

1

कोई फ़ाइल पहचानने का एकमात्र तरीका जिसमें कोई एक्सटेंशन नहीं है और कोई अन्य मेटाडेटा नहीं है, इसकी सामग्री को देखना और उस पर आधारित फ़ाइल की पहचान करना है।

यदि यह एक छवि फ़ाइल है तो यह आमतौर पर कुछ जादू स्ट्रिंग के साथ शुरू होता है जो इसे जेपीईजी, पीएनजी आदि के रूप में पहचानता है। आप इसे एक छवि के रूप में खोलने की कोशिश भी कर सकते हैं और देख सकते हैं कि यह काम करता है या नहीं।

हालांकि एक टेक्स्ट फ़ाइल के लिए, वह दृष्टिकोण काम नहीं करेगा क्योंकि टेक्स्ट फ़ाइलों में कोई सामग्री हो सकती है। अगर आपको फ़ाइल में टेक्स्ट के बारे में कुछ पता है तो आप इसे स्ट्रिंग के रूप में खोल सकते हैं और फिर उस पाठ के लिए स्ट्रिंग को खोज सकते हैं। यदि नहीं, तो आप केवल एक शब्दकोश से शब्दों की तलाश कर सकते हैं और फिर मान लें कि यह टेक्स्ट है यदि इसमें उचित शब्दकोष शब्द हैं।

यदि आप कोई एक्सटेंशन नहीं रखते हैं तो उपयोगकर्ता को फ़ाइल प्रकार की पहचान करने के लिए कहने से बेहतर हो सकता है - यह आसान और अधिक विश्वसनीय है।

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