PHP में एक बाइनरी फ़ाइल को पार्स करना

बाइनरी कोड डेटा फ़ाइलों को वैज्ञानिक रूप से उपयोग की जाने वाली निम्न-स्तरीय प्रोग्रामिंग भाषाओं में C की तरह उपयोग किया जाता है, जिसे पाठ प्रारूप में सुसंगत रूप से अनुवादित नहीं किया जा सकता है।

किसी दिए गए मूल्य को संग्रहीत करने के लिए किसी भी निम्न-स्तरीय भाषा का उपयोग करते हुए, बाइनरी कोड का उपयोग एक बार पाठ संपादक में लोड करने या इसे पढ़ने के लिए करने के बाद किया जाना चाहिए।

बाइनरी फ़ाइल को पढ़ा नहीं जा सकता क्योंकि यह पास्कल जैसी भाषाओं में कच्चे बाइनरी प्रारूप में है। इसलिए, वेबमास्टर्स पाठ के रूप में फ़ाइलों को पढ़ने और लिखने के लिए PHP का उपयोग करते हैं। अपने मूल्यों को पुनः प्राप्त करने के लिए एक विशिष्ट फ़ंक्शन का उपयोग किया जाना चाहिए।

PHP एक अद्वितीय फ़ंक्शन का उपयोग करता है जिसे अनपैक () कहा जाता है। पहला डेटा प्रकार तर्क घोषित होने के बाद, आपको पुनर्प्राप्त करने और स्ट्रिंग के रूप में दूसरा तर्क बनाने की आवश्यकता है जिससे आप डेटा पुनर्प्राप्त करना चाहते हैं। वसूली योग्य डेटा प्रतीकात्मक तर्कों में होना चाहिए।

सी या पास्कल जैसी निम्न स्तरीय भाषाओं का उपयोग करते समय, डेटा को बाइनरी फ़ाइल (एक रिकॉर्ड जिसे पाठ में अनुवादित नहीं किया जा सकता है) में संग्रहीत करने के लिए एक सामान्य प्रक्रिया है।

C भाषा का उपयोग करते हुए, यदि आप किसी फ़ाइल में मान 500 बचाना चाहते हैं, तो कोड इस प्रकार होगा:

 # मुख्य अंत () {int val = 500; File * fp = fopen ("फ़ाइल", "wb"); fwrite (& val, sizeof (int), 1, fp); // स्टोर वैल "फाइल" fclose (fp) में; वापसी 0; } 

पाठ संपादक के साथ इस विशेष फ़ाइल को खोलते समय, आप इसे अपठनीय पा सकते हैं क्योंकि आपका मान पाठ के रूप में नहीं बल्कि इसके बाइनरी कच्चे रूप में सहेजा जाता है।

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

समाधान:

इस तरह की समस्या को हल करने के लिए फंक्शन अनपैक () का उपयोग किया जा सकता है। आपको पहले उस डेटा के प्रकार को घोषित करना होगा जिसे आप पुनर्प्राप्त करना चाहते हैं और फिर वह स्ट्रिंग जिससे आप डेटा पुनर्प्राप्त करना चाहते हैं।

पुनर्प्राप्त किए जाने वाले डेटा का प्रकार संबंधित प्रतीक के उपयोग से विस्तृत होना चाहिए। उदाहरण के लिए, हस्ताक्षरित पूर्णांक को पुनः प्राप्त करने के लिए, मैं वर्ण का उपयोग करता हूं

इसलिए यदि हम ऊपर उदाहरण में सहेजी गई फ़ाइल का उपयोग करते हैं, तो हमारे मूल्य को पुनः प्राप्त करने के लिए यहां कोड है:

    • महत्वपूर्ण लेख:
  • प्रोसेसर आर्किटेक्चर (स्पार्क, एआरएम, पावरपीसी) के आधार पर डेटा का आकार बदल सकता है।
    • C में लिखा गया प्रोग्राम 32-बिट से 64 बिट्स तक के विभिन्न आकारों के पूर्णांक का उपयोग करता है।
    • डेटा की व्यवस्था समान नहीं हो सकती है। कुछ मशीनें बिग एंडियन में डेटा स्टोर करती हैं, तो कुछ लिटिल एंडियन में।
    • कंपाइलर के आधार पर डेटा का आकार अलग-अलग हो सकता है
    • अनपैक फ़ंक्शन एक सरणी को थोड़ा और विस्तृत करता है जो यहां एक उदाहरण के रूप में दिया गया है। हमारे मामले में, एक अनुरोधित मूल्य के साथ, हमारा मान सरणी के ऑफसेट 1 में है।
  • 32-बिट पीसी के लिए डेटा प्रकार
    • यहां 32-बिट पीसी के लिए संकलित सी प्रोग्राम द्वारा दर्ज आंकड़ों को दर्शाने वाली एक तालिका है:
    • char : सी
    • अहस्ताक्षरित चार : सी
    • संक्षेप : एस
    • अहस्ताक्षरित लघु : एस
    • int : मैं
    • अहस्ताक्षरित int : L
    • फ्लोट : एफ
    • डबल : डी

पिछला लेख अगला लेख

शीर्ष युक्तियाँ