2014-04-24 11 views
7

मैंने यूटीएफ -8 एन्कोडिंग के साथ एक फाइल बनाई है, लेकिन डिस्क पर होने वाले आकार के नियमों को मैं समझ नहीं पा रहा हूं।
8 बाइट्सयूटीएफ -8 एन्कोडिंग में फ़ाइल का आकार?

  1. सबसे पहले मैं एक ही हिंदी पत्र 'क' और विंडोज 7 पर फ़ाइल आकार के साथ फाइल बनाया गया था: यहाँ मेरा पूरा अनुसंधान है।

  2. अब दो अक्षर 'के' के साथ और फ़ाइल का आकार 11 बाइट था।

  3. अब तीन अक्षर 'किक' के साथ और फ़ाइल का आकार 14 बाइट था।

क्या कोई मुझे बता सकता है कि यह ऐसे आकार क्यों दिखा रहा है?

उत्तर

7

पहले तीन बाइट BOM (Byte Order Mark)EF BB BF के लिए उपयोग किए जाते हैं।

फिर बाइट E0 A4 95 पत्र को एन्कोड करें।

तब बाइट 0D 0A कैरिज रिटर्न एन्कोड करें।

कुल: 8 बाइट्स। प्रत्येक अक्षर के लिए आप जोड़ते हैं, आपको तीन और बाइट्स की आवश्यकता होती है।

+0

बीओएम यूटीएफ -8 फाइलों में पूरी तरह से अनावश्यक है (बाइट ऑर्डर पूरी तरह से और अनजाने में निर्दिष्ट है, यूटीएफ -16LE बनाम यूटीएफ -16 बीई के विपरीत), लेकिन ऐसा लगता है कि कुछ विंडोज टूल्स वैसे भी वहां डालने पर जोर देते हैं। शायद एक अलग उपकरण, या एक बेहतर मंच पर स्विच करें। – tripleee

+1

@ ट्रिपली: यूनिकोड कंसोर्टियम का कहना है कि "बीओएम का उपयोग न तो आवश्यक है और न ही यूटीएफ -8 के लिए अनुशंसित है" ([पृष्ठ 36] (http://www.unicode.org/versions/Unicode5.0.0/ch02.pdf)), लेकिन यह उपयोगी हो सकता है, उदाहरण के लिए संपादकों के लिए जिन्हें विभिन्न एन्कोडिंग को संभालने की आवश्यकता है। चूंकि यूटीएफ -8 पिछड़ा है- ASCII के अनुकूल है, ऐसा हो सकता है कि एक यूटीएफ -8 फ़ाइल में '0x7f' से ऊपर कोई वर्ण नहीं है, इसलिए संपादक जो एन्कोडिंग अनुमान लगाने के लिए फ़ाइल के पहले 64 KB को स्कैन करते हैं (उदाहरण के लिए क्या संपादनपैड करता है), मूर्ख बनाया जा सकता है। –

+1

मैं पूरी तरह से अनावश्यक नहीं कहूंगा .. यह स्पष्ट रूप से इंगित करता है कि फ़ाइल यूटीएफ -8 में एन्कोड की गई है। – Flynn1179

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