2010-09-11 20 views
11

मैं वर्तमान में डब्ल्यूएवी फाइलों को समझने की कोशिश कर रहा हूं। हेडर से पीसीएम डेटा तक।एक पूर्णांक बाइट्स पीछे की ओर क्यों संग्रहीत हैं? क्या यह केवल शीर्षकों पर लागू होता है?

मुझे एक पीडीएफ (http://www.tdt.com/T2Support/technical_notes/tn0132.pdf) एक डब्ल्यूएवी फ़ाइल की शारीरिक रचना का विवरण मिला है, और मैं निकास और Ghex2 का उपयोग कर उपयुक्त हेडर डेटा को समझने में सक्षम हूं। लेकिन मेरे प्रश्न हैं:

पूर्णांक बाइट्स पीछे की ओर क्यों संग्रहीत हैं? अर्थात। dec। 20x00000014 के बजाय 0x14000000 के रूप में संग्रहीत किया जाता है।

क्या पीसीएम डेटा के पूर्णांक भी पीछे की ओर संग्रहीत हैं?

+2

कोई "पिछड़ा" नहीं है। यह सब सम्मेलन से है। Endianness के लिए विकिपीडिया खोजें। – Detmar

+2

... और एक बार जब आप स्पष्ट हो जाते हैं कि बड़े और छोटे अंतहीनता दोनों उचित हैं, तो अपने दिमाग को मिश्रित अंतराल के चारों ओर लपेटने का प्रयास करें। फिर रोओ। – dmckee

+1

हालांकि थोड़ा एंडियन उचित नहीं है। [इसके बारे में क्या उचित है?] (Http://fusion.co.id/wp-content/uploads/2015/02/pig-little-endian-1.jpg) – MarcusJ

उत्तर

11

डब्ल्यूएवी फाइलें छोटे-अंत (कम से कम महत्वपूर्ण बाइट्स) हैं क्योंकि प्रारूप इंटेल प्रोसेसर आधारित मशीनों पर चल रहे ऑपरेटिंग सिस्टम के लिए उत्पन्न हुआ है जो संख्याओं को स्टोर करने के लिए छोटे एंडियन प्रारूप का उपयोग करते हैं।

यदि आप इसके बारे में सोचते हैं तो इसका अर्थ समझ में आता है क्योंकि यदि आप एक छोटे से एक या यहां तक ​​कि एक चरित्र के लिए एक लंबा पूर्णांक डालना चाहते हैं तो प्रारंभिक पता वही रहता है, आप केवल कम बाइट देखते हैं।

नतीजतन, 16 बिट एन्कोडिंग ऊपर के लिए, पीसीएम के लिए भी छोटे-एंडियन प्रारूप का उपयोग किया जाएगा। यह काफी आसान है क्योंकि आप उन्हें पूर्णांक के रूप में खींचने में सक्षम होंगे। भूलें कि वे 16 बिट हैं, लेकिन अगर वे 8 बिट हैं तो वे दो पूरक पूरक हस्ताक्षर के रूप में संग्रहीत किए जाएंगे। (अधिक जानकारी के लिए http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html देखें)

+0

यह अजीब बात है कि उल्लिखित पृष्ठ बताता है कि संख्या को बड़े-एंडियन रूप में संग्रहीत किया जाना चाहिए (लेकिन प्रारूप वास्तव में छोटे-एंडियन का उपयोग करता है)। – Groo

+0

उल्लिखित पृष्ठ अब कुछ भी नहीं बताता है क्योंकि यह गायब हो गया है ... (मुझे लगता है कि कुछ साल बाद कॉलेज वेब साइट लिंक के साथ अक्सर होता है।) –

+0

मुझे यकीन नहीं है कि मेरी फ़ाइल का पालन नहीं है या नहीं क्या, लेकिन सभी संख्या फ़ील्ड (नमूना दर, बिट दर, आदि) को छोटे एंडियन में संग्रहीत किया जाता है, जबकि सभी शब्द फ़ील्ड (आरआईएफएफ, वेव, एफएमटी, आदि) बड़े एंडियन में संग्रहीत होते हैं। – MarcusJ

3

"पिछड़ा" व्यक्तिपरक है। कुछ मशीनें बड़ी हैं- endian, अन्य छोटे हैं- endian। फ़ाइल स्वरूपों और नेटवर्क प्रोटोकॉल जैसे बाइट उन्मुख संदर्भों में, आदेश मनमाने ढंग से है। कुछ प्रारूप बड़े या छोटे-एंडियन को निर्दिष्ट करना चाहते हैं, दूसरों को लचीला होना और किसी भी रूप को स्वीकार करना, एक झंडा के साथ जो उपयोग में है।

डब्ल्यूएवी फाइलों की तरह दिखता है जैसे कि छोटे-छोटे।