लिखने के लिए कैसे मैं सी का उपयोग करके कुछ डेटा को थोड़ा स्ट्रीम में लिखने के बारे में सोच रहा हूं। दिमाग में दो तरीके आते हैं। एक परिवर्तनीय बिट-लंबाई प्रतीकों को एक संगत बिट अनुक्रम में जोड़ना है, लेकिन इस तरह से मेरे डिकोडर को शायद उन प्रतीकों को इस निरंतर बिट स्ट्रीम से अलग करने में कठिन समय लगेगा। एक और तरीका है कि किस बिट के लिए बिट्स वितरित करना है और इस तरह डीकोडर मूल डेटा को आसानी से पुनर्प्राप्त कर सकता है, लेकिन बिट्स का अपशिष्ट हो सकता है क्योंकि प्रतीकों के अलग-अलग मान होते हैं जो बदले में बिट बिट में कई बिट्स होते हैं शून्य (मुझे लगता है कि यह अपशिष्ट बिट्स)।बिटस्ट्रीम
कोई संकेत मुझे क्या करना चाहिए?
मैं प्रोग्रामिंग के लिए नया हूं। किसी भी तरह की सहायता को आभार समझेंगे।
यहां मेरा उत्तर है यहां प्रश्न: http: // stac koverflow.com/questions/11253123/how-can-i-print-a-bit-instead-of-byte-in-a-file/11253310#11253310 –
बिट्स को पैक करना सामान्य तरीका है, लेकिन इसके लिए तर्क की आवश्यकता है दूसरी ओर बिट गिनती पता है। जब आप किसी प्रतीक के अंत तक पहुंच जाते हैं तो आप थोड़ा सा डीकोडिंग बिट समाप्त कर सकते हैं। –
आपका प्रश्न कोडिंग के क्षेत्र से संबंधित है। जैसा कि नीचे उल्लिखित है, हफमैन कोडिंग एक विकल्प है। लेकिन कुछ ऐसे हैं जैसे हफमैन कोडिंग एकमात्र नहीं है (लेकिन यह निश्चित रूप से सबसे लोकप्रिय है)। मोफैट और टर्पिन द्वारा "संपीड़न और कोडिंग एल्गोरिदम" पुस्तक देखें। अधिकांश संपीड़न पुस्तकों में कोडिंग के बारे में कुछ है; यह पुस्तक कोडिंग पर केंद्रित है। "कठिन समय अलग करने" के संदर्भ में, आपको एक कोड की आवश्यकता है जो उपसर्ग मुक्त है - कोई कोड किसी अन्य का उपसर्ग नहीं है। – Ray