Monday 18 December 2017

जावास्क्रिप्ट पढ़ने के लिए के रूप में द्विआधारी विकल्प


readAsBinaryString कहता है कि डेटा को द्विआधारी स्ट्रिंग के रूप में प्रस्तुत किया जाना चाहिए। जहां: प्रत्येक बाइट 0,255 रेंज में एक पूर्णांक द्वारा दर्शाया गया है। जावास्क्रिप्ट मूल रूप से एक द्विआधारी प्रकार नहीं था (जब तक टाइप एरे के विवरण के लिए ईसीएमएस्क्रिप्ट 5 एस वेबजीएल समर्थन (विवरण नीचे) - इसे ECMAScript 2018 के अर्रेबफर द्वारा स्थानांतरित कर दिया गया है) और इसलिए वे एक स्ट्रिंग के साथ गारंटी के साथ गए कि स्ट्रिंग में कोई भी वर्ण संग्रहीत नहीं होगा रेंज 0..255 के बाहर (वे बजाय संख्याओं की एक सरणी के साथ जा सकते हैं, लेकिन वे शायद बड़े स्ट्रिंग संख्याओं के बड़े सरणियों से अधिक मेमोरी-कुशल होते हैं, क्योंकि संख्याएं चलती हैं।) यदि आप एक फ़ाइल को पढ़ रहे हैं तो ज्यादातर पाठ को पश्चिमी लिपि में ज्यादातर अंग्रेजी, उदाहरण के लिए), तो वह स्ट्रिंग पाठ की तरह बहुत कुछ देखने वाला है। यदि आप उसमें यूनिकोड वर्णों के साथ एक फाइल पढ़ते हैं, तो आपको अंतर दिखाना चाहिए, क्योंकि जावास्क्रिप्ट स्ट्रिंग UTF-16 (विवरण नीचे) हैं और कुछ अक्षर में 255 से ऊपर का मान होगा, जबकि फ़ाइल एपीआई स्पेस के अनुसार एक बाइनरी स्ट्रिंग नहीं होगा 255 से ऊपर कोई भी मान (आपके पास यूनिकोड कोड बिंदु के दो बाइट्स के लिए दो अलग-अलग वर्ण हैं)। यदि आप एक फ़ाइल पढ़ रहे हैं जो बिल्कुल पाठ नहीं है (एक छवि, संभवतः), तो आप शायद अभी भी पढ़ने के टेक्स्ट और पढ़ने के बीच एक समान परिणाम प्राप्त करेंगे। लेकिन readAsBinaryString के साथ आप जानते हैं कि बहु-बाइट अनुक्रमों को वर्णों के रूप में व्याख्या करने का कोई प्रयास नहीं होगा। आप नहीं जानते हैं कि यदि आप readAsText का उपयोग करते हैं क्योंकि readAsText एन्कोडिंग निर्धारण का उपयोग करने के लिए फ़ाइलें एन्कोडिंग क्या है यह जानने की कोशिश करेगा और फिर उसे जावास्क्रिप्ट यूटीएफ -16 स्ट्रिंग्स पर मैप करें। यदि आप एक फाइल बनाते हैं और इसे एएससीआईआई या यूटीएफ -8 के अलावा किसी अन्य चीज़ में संग्रहीत करते हैं, तो आप प्रभाव देख सकते हैं। (विंडोज में आप इसे नोटपैड के जरिए कर सकते हैं, जैसे कि यूनिकोड के साथ एक एन्कोडिंग ड्रॉप-डाउन के रूप में सहेजें, जिसके द्वारा वे यूटीएफ -16 का अर्थ समझते हैं, देख रहे हैं मै मैक ओएस और नििक्स एडिटर्स की एक ऐसी सुविधा है। एक पृष्ठ जो एक फ़ाइल को दोनों तरीकों से पढ़ने का नतीजा देता है: अगर मैं इसे यूटीएफ -16 में संग्रहीत एक परीक्षण 1 2 3 फाइल के साथ प्रयोग करता हूं, तो यहां दिए गए परिणाम हैं: जैसे कि आप देख सकते हैं, पढ़ाऐस्टेक्स्ट ने वर्णों की व्याख्या की है और इसलिए मुझे मिल गया 13 (1 2 3 की जांच की लंबाई), और पढ़ाएबरीन स्ट्रिंग नहीं किया, और इसलिए मुझे 28 (प्रत्येक बाइट के लिए दो-बाइट BOM प्लस दो बाइट) मिला। प्रतिक्रिया के साथ XMLHttpRequest. responseHTML5 में समर्थित है। जावास्क्रिप्ट स्ट्रिंग UTF-16 एक अजीब बयान की तरह लग सकता है वे सिर्फ यूनिकोड नहीं हैं, एक जावास्क्रिप्ट स्ट्रिंग UTF-16 कोड इकाइयों की एक श्रृंखला है जो आप दो अलग-अलग जावास्क्रिप्ट के रूप में सरोगेट जोड़े देखते हैं अक्षर हालांकि, वास्तव में, एक पूरे के रूप में किराए की जोड़ी सिर्फ एक ही चरित्र है विवरण के लिए लिंक देखें digitalFresh: स्ट्रिंग बाइनरी डेटा है जैसा कि आप टिप्पणी कर रहे थे, मैंने एक उदाहरण पोस्ट किया है जो मदद कर सकता है। जावास्क्रिप्ट में एक quotbinaryquot प्रकार नहीं है और इसलिए वे एक स्ट्रिंग के साथ गारंटी के साथ गए हैं कि स्ट्रिंग में कोई भी अक्षर संग्रहीत नहीं किया जाएगा, जो सीमा 0..255 के बाहर होगा। (वे इसके बजाय संख्याओं की एक सरणी के साथ चले गए, लेकिन उन्होंने ये नहीं किया।) उदाहरण से पता चलता है कि स्ट्रिंग से कोटरिएक्टर कोट का कच्चा मान कैसे प्राप्त किया जाए। ndash टी.जे. Crowder June 30 10 at 5:09 morpheus: क्योंकि यह सामग्री असिंक्रोनस है, यह अपवाद छोड़ सकता है जिसे आपको इंटरफ़ेस को देखने की आवश्यकता है, यह देखने के लिए कि क्या कुछ एसिंक्रोनस तरीके से यह त्रुटियों की रिपोर्ट करता है। और वास्तव में, FileReader के लिए इस पर आतंक है जब आप एक फ़ाइल का उपयोग करते हैं: 4747 यूआरएल, आपका दस्तावेज़ डोमेन शून्य है, जो आपको कई चीजों से बंद कर देता है (मुझे विवरण नहीं पता, मैं कभी ऐसा नहीं करता), esp। जब एसओपी इसमें शामिल हो जाता है I39m काफी यकीन है कि यह ब्राउज़र तक, कम से कम अब के लिए, क्योंकि कल्पना का सुरक्षा हिस्सा अभी भी अनंतिम है: w3.orgTRFileAPIsecurity - चर्चा लेकिन मैं यह काम करने की उम्मीद नहीं करेगा ndash टी.जे. Crowder Nov 5 10 at 18:12 बहुत धन्यवाद TJCrowder - मैंने अपनी टिप्पणी को मेरे oversimplification द्वारा गुमराह होने से रोकने के लिए अपनी टिप्पणी को हटा दिया है, और विवरण पोस्ट करने के लिए धन्यवाद - मुझे यकीन है कि दूसरों को आपकी टिप्पणियों को और अधिक उपयोगी मिलेगा (और पढ़ना लेख वास्तव में एक अच्छा विचार है, जैसा कि आप कहते हैं, अगर कोई इस क्षेत्र में घूम रहा है)। ndash ब्रायन एम हंट 30 दिसंबर को 14: 16 लेखों की एक श्रृंखला के हिस्से के रूप में मैं उन चुनौतियों के बारे में चर्चा कर रहा हूं जो एक HTML5 और जावास्क्रिप्ट नि: शुल्क ऑनलाइन आइकन संपादक बनाने की कोशिश कर रहे हैं। मैं चाहता था कि उपयोगकर्ता अपने आइकन संपादक में मौजूद आइकन फ़ाइलों को खोल और संपादित कर सकें। चूंकि आइकन फ़ाइलों में कई फ़्रेम होते हैं, मुझे इन व्यक्तिगत फ़्रेमों तक पहुंचने की आवश्यकता है ताकि वे प्रदर्शित हो सकें और उपयोगकर्ता के लिए संपादन कर सकें। आइकन के भीतर मौजूद फ़्रेमों की संख्या, आकार और स्थान सभी आइकन शीर्षलेख में संग्रहीत है। आइकन हैडर एक संग्रह बाइट है जो आइकन फ़ाइल की शुरुआत में स्थित है, इसलिए मुझे फ़ाइल में मौजूद बायनरी डेटा को पढ़ने की आवश्यकता है। हम किसी भी डेटा को किसी सर्वर पर वापस भेजने के बिना ब्राउज़र में फ़ाइलों को आसानी से पढ़ सकते हैं इस किस्त में मैं यह दिखाता हूं कि आप एचटीएमएल 5 फ़ाईल एपीआई के उपयोग से ब्राउजर में एक स्थानीय फाइल के द्विआधारी डेटा कैसे पढ़ सकते हैं। शुरू करने के लिए एक इनपुट तत्व जोड़ते हैं और फाइल करने के लिए टाइप एट्रिब्यूट सेट करते हैं, फिर एक स्क्रिप्ट ब्लॉक में हम फाइल इन्पुट को onchange इवेंट को संभालने जा रहे हैं। lt शरीर gt160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160,160,160,160 lt इनपुट आईडी quotbrowseOpenquot प्रकार quotfilequot जीटी 160,160,160,160 lt स्क्रिप्ट प्रकार quottextjavascriptquot जीटी 160160160160160160160160 वर fileInput document. getElementById (quotbrowseOpenquot) 160160160160160160160160 fileInput. onchange समारोह () 160160160160160160160160160160160160 कोड onchange घटना को संभालने के लिए यहाँ 160,160,160,160 160,160,160,160 160,160,160,160 lt स्क्रिप्ट जीटी lt शरीर जीटी चला जाता है अब हम बदलते ईवेंट को संभालने के लिए कोड जोड़ना चाहते हैं यहां हम एक FileReader ऑब्जेक्ट बनाने जा रहे हैं। हम readAsBinaryString विधि का उपयोग FileReader ऑब्जेक्ट के लिए करेंगे जो हमें कच्चे बाइनरी डेटा देगा। हम एक फ़ाइल ऑब्जेक्ट को readAsBinaryString पर पास कर सकते हैं यदि हम पूरी फाइल पढ़ना चाहते हैं या हम एक ब्लॉब ऑब्जेक्ट पास कर सकते हैं यदि हम एक फ़ाइल के एक निश्चित खंड को पढ़ना चाहते हैं। इस उदाहरण में हम पूरी फाइल को पढ़ने के लिए एक फ़ाइल ऑब्जेक्ट पास करने जा रहे हैं। हमें भी FileReader के ओलोडेंड इवेंट को संभालना आवश्यक है क्योंकि जैसा कि हम readAsBinaryString के साथ पढ़ा हुआ डेटा केवल संपूर्ण फ़ाइल या ब्लॉब को FileReader द्वारा पढ़े जाने के बाद उपयोग करने के लिए उपलब्ध है। हमारा कोड ऑन-चेंज इवेंट हैंडलर में अब इस तरह दिखता है 160160160160160160160160 var फ़्री फ़ॉररिडर () 160160160160160160160160 fr. onloadend फ़ंक्शन () 160160160160160160160160160160160160 संहिता के लिए ऑनलोडेंड घटना को संभाल 160160160160 160160160160 160160160160160160160160 fr. readAsBinaryString (यह. फ़ाइलें 0) ओलोडेंड ईवेंट हैंडलर में हम उस डेटा का उपयोग कर सकते हैं जो अभी फ़ाइल रीडर के माध्यम से पढ़ा गया है परिणाम विशेषता हम फिर परिणाम विशेषता के माध्यम से पाश कर सकते हैं और प्रत्येक बाइट के पूर्णांक मान को वापस करने के लिए charCodeAt विधि को कॉल कर सकते हैं। इस उदाहरण में मैं एक बाइट को एक हेक्साडेसिमल स्ट्रिंग प्रस्तुति में स्ट्रिंग (16) के लिए कन्वर्ट करने जा रहा हूं, एक लंबी स्ट्रिंग तैयार करें और फिर उपयोगकर्ता को स्ट्रिंग प्रदर्शित करें। पूरी तरह काम उदाहरण है lt DOCTYPE HTML जीटी lt एचटीएमएल जीटी lt सिर जीटी 160160160160 lt शीर्षक फ़ाइल एपीआई और JavaScriptlt शीर्षक जीटी lt सिर जीटी lt शरीर gt160160160160160160160160160160160160160160160160160160160160160160160160160160160160 160160160160 lt इनपुट आईडी quotbrowseOpenquot प्रकार quotfilequot जीटी 160160160160 lt स्क्रिप्ट प्रकार quottextjavascriptquot जीटी 160160160160160160160160 वर fileInput document. getElementById साथ gtReading बाइनरी डेटा (quotbrowseOpenquot) 160160160160160160160160 fileInput. onchange समारोह () 160160160160160160160160160160160160 वर fr नई FileReader () 160160160160160160160160160160160160 fr. onloadend समारोह () 160160160160160160160160160160160160160160160160 वर परिणाम इस. result के लिए 160160160160160160160160160160160160160160160160 वर हेक्स quotquot 160160160160160160160160160160160160160160160160 (वर मैं 0 मैं इस. result. length मैं lT) 160160160160160160160160160160160160160160160160160160160160 var बाइट्सट्र परिणाम. चर्कोडाएट (आई).टस्टिंग (16) 160160160160160160160160160160160 160160160160160160160160160 अगर (byteStr. length लीटर 2) 160160160160160160160160160160160160160160160160160160160160160160160160 byteStr quot0quot byteStr 160160160160160160160160160160160160160160160160160160160160 160160160160160160160160160160160160160160160160160160160160 हेक्स quot quot byteStr 160160160160160160160160160160160160160160160160 160160160160160160160160160160160160160160160160 चेतावनी (हेक्स) 160160160160160160160160160160160160 160160160160160160160160160160160160 fr. readAsBinaryString (इस. files 0) 160160160160160160160160 160,160,160,160 lt स्क्रिप्ट जीटी lt शरीर जीटी lt एचटीएमएल gtjDataView एक मानक प्रदान करता है सभी ब्राउज़रों में बाइनरी फ़ाइलों को पढ़ने का तरीका। यह डेटाविवे विशिष्टता का अनुसरण करता है और यहां तक ​​कि एक अधिक व्यावहारिक उपयोग के लिए इसे बढ़ाता है। स्पष्टीकरण ब्राउज़र से एक बाइनरी फाइल को पढ़ने के तीन तरीके हैं। सबसे पहले एक फाइल को XHR के माध्यम से charsetx-user-defined के साथ डाउनलोड करना है। आपको फ़ाइल को स्ट्रिंग के रूप में मिलता है और आपको सभी डिकोडिंग कार्यों को पुनः लिखना होगा (getUint16, getFloat32।) सभी ब्राउज़रों इस का समर्थन करते हैं फिर WebGL को लागू करने वाले ब्राउज़रों ने ऐरेबफ़र्स को भी जोड़ा। यह एक सादा बफ़र है जिसे टिप एरेरेज़ (इंट 32 एरे, फ्लोट 64 एरे।) नामक दृश्यों के साथ पढ़ा जा सकता है। आप फ़ाइल को डीकोड करने के लिए उनका उपयोग कर सकते हैं लेकिन यह बहुत आसान नहीं है। इसमें बड़ी कमी है, यह गैर-संरेखित डेटा पढ़ सकता है। यह फ़ायरफ़ॉक्स 4 और क्रोम 7 द्वारा समर्थित है। विनिर्देशन के एक नए संशोधन ने डाटाविज़स जोड़े। यह आपके बफ़र के चारों ओर एक दृश्य है जो फ़ंक्शन से सीधे मनमाना डेटा प्रकार पढ़ सकता है: getUint32, getFloat64 केवल क्रोम 9 का समर्थन करता है। jDataView सभी ब्राउज़रों के लिए डेटाव्यू एपीआई प्रदान करता है, जो स्ट्रिंग्स, टाइप किए गए और डाटाविज़ के बीच सर्वश्रेष्ठ उपलब्ध विकल्प का उपयोग करते हैं। विस्तृत एपीआई के लिए विनिर्देश देखें। khronos. orgregistrywebgldocspecTypedArray-spec. html6। DataView के लिए लिखे गए कोई भी कोड jDataView के साथ काम करेगा (सिवाय इसके कि वह कुछ लिखता है)। निर्माता नया jDataView (बफर, ऑफ़सेट, लम्बाई) बफ़र या तो कोई स्ट्रिंग या एक अर्रेबफ़र विशिष्टता एपीआई हो सकता है आवरण सभी विनिर्देश गेटर्स को संतुष्ट करता है। getInt8 (बाइटऑफसेट) getUint8 (बाइटऑफसेट) getInt16 (बाइटऑफसेट, थोड़ाआइंडियन) getUint16 (बाइटऑफसेट, थोड़ाआइंडियन) getInt32 (बाइटऑफसेट, थोड़ाआइंडियन) getUint32 (बाइटऑफसेट, थोड़ाआइंडियन) getFloat32 (बाइटऑफसेट, थोड़ाआइंडियन) getFloat64 (बाइटऑफसेट, थोड़ाआइंडियन) विस्तारित विशिष्टता बाइटऑफसेट पैरामीटर अब वैकल्पिक यदि आप इसे छोड़ देते हैं, तो यह नवीनतम रीड ऑफसेट के ठीक बाद पढ़ा जाएगा। आप उन दो फ़ंक्शंस के साथ आंतरिक पॉइंटर के साथ इंटरैक्ट कर सकते हैं। तलाश (बाइटऑफसेट): स्थिति में आंतरिक सूचक को स्थानांतरित करें (): वर्तमान स्थिति देता है getChar और GetString उपयोगिताओं के अतिरिक्त। CreateBuffer के अतिरिक्त, आसानी से नवीनतम उपलब्ध स्टोरेज प्रकार (स्ट्रिंग या ऐरेबफर) के साथ बफ़र्स बनाने के लिए उपयोगिता कमियां केवल पढ़ने वाली एपीआई लिपटे जा रही हैं, jDataView किसी भी सेट विधि प्रदान नहीं करता है। स्ट्रॉल्स पर Float64 क्रियान्वयन पूर्ण सटीक नहीं है। पहले हमें एक फाइल की आवश्यकता है या तो आप इसे XHR के माध्यम से प्राप्त कर सकते हैं या createBuffer उपयोगिता का उपयोग कर सकते हैं। बिट्स, बाइट्स, और स्थितियां: एक जावास्क्रिप्ट बाइरीडीस्केलहेक्सडेसिमल कनवर्टर लिखें एक्सपेंनेलिबल नोटेशन पर त्वरित ट्यूटोरियल (यदि आप इसे पहले से जानते हैं तो आप इसे छोड़ सकते हैं) घातीय अंकन एक संख्या के गुणकों को व्यक्त करने का एक संक्षिप्त तरीका है। उदाहरण के लिए, जैसा कि आपने टेबल में देखा था: 10 3 10times10times10 1000 शब्दों में एक समान बयान है: तीसरे शक्ति से दस दस गुना दस गुना बराबर है जो एक हज़ार के बराबर है। एक्सपोनेंट (3, इस मामले में), कितने बार आधार को गुणा करने के लिए कहता है (10, इस मामले में) 0 वें शक्ति के लिए उठाए गए कोई भी संख्या 1 के बराबर है। यह द्विआधारी (आधार 2) संख्याओं के लिए समान है, लेकिन अब केवल दो अंक उपलब्ध हैं (0 और 1), और स्थान के मान दो की शक्तियां बढ़ा रहे हैं। अगली तालिका द्विआधारी प्रतिनिधित्व में समान संख्या (3,8 9 7) दर्शाती है। जाहिर है, यह 3,8 9 7 के आधार दस द्विआधारी प्रतिनिधित्व की तुलना में बहुत अधिक अंक लेता है: 1111 0011 1001 इसे अपने लिए देखें और सुनिश्चित करें कि यह सभी बिट्स और बाइट्स को जोड़ता है प्रत्येक द्विआधारी अंक को थोड़ा कहा जाता है उपरोक्त तालिका का उपयोग देखने के लिए कि यह कितने बिट्स को दर्शाता है 3,8 9 7 आगे बढ़ो, अच्छी तरह से प्रतीक्षा करें सही है, बारह बिट्स सही-थोड़ा सा (एक बिट) कम से कम महत्वपूर्ण बिट और बाएं-सबसे बिट (दो हजार चालीस-आठ बिट) सबसे महत्वपूर्ण बिट है चूंकि 0 एस और 1 एस की लंबी स्ट्रिंग पढ़ने से आपकी जगह खोना आसान है, इसलिए द्विआधारी संख्या अक्सर 4-बिट समूहों में प्रदर्शित होती हैं, जैसे: 1111 0011 1001. इन 4-बिट समूहों में से दो (आठ बिट्स एक साथ) बाइट जो एक डिजिटल मेमोरी या स्टोरेज डिवाइस के आकार को मापने के लिए मूल इकाई है। आप एक बाइट में क्या स्टोर कर सकते हैं, इस बारे में सोचें कि कितने विभिन्न नंबर एक बाइट के साथ एन्कोड किए जा सकते हैं (यह पहले दशमलव संख्याओं के साथ एक सादृश्य बनाने में मदद कर सकता है: कितने भिन्न संख्याएं आपको 2 अंक के साथ कितनी संख्या में 3 अंकों के साथ सांकेतिक शब्दों में बदल सकते हैं) एक किलोबाइट (संक्षिप्त केबी) 1000 बाइट्स नहीं है, जैसा कि आप सोच सकते हैं कि अगर आप अपनी मीट्रिक उपसर्ग जानते हैं । चूंकि यह डिजिटल दुनिया है, सब कुछ 2 की शक्तियों में है, इसलिए एक किलोबाइट 1024 बाइट्स (2 10 बाइट्स) है। इसी तरह, एक मेगाबाइट (एमबी) 1024times1024 बाइट्स (1,048,576 बाइट्स 2 20 बाइट्स) है। हेक्साडेसिमल: कंप्यूटर के लिए बेस 16 बाइनरी संख्या ठीक है, लेकिन लोगों के इस्तेमाल के लिए विशेष रूप से आसान नहीं हैं हालांकि, जब आप एक मशीन प्रोग्रामिंग कर रहे हैं जो द्विआधारी संख्याओं के साथ काम करता है, तो कभी-कभी 10 की शक्तियों के बजाय 2 की शक्तियों के रूप में प्रदर्शित संख्याओं के साथ काम करने में आसान होता है। हेक्साडेसिमल नोटेशन (बेस 16) अक्सर इस कारण के लिए उपयोग किया जाता है जैसा कि आप उम्मीद करते हैं, हेक्साडेसिमल में 16 अंक होते हैं, और प्रत्येक अंक 16 की शक्ति का प्रतिनिधित्व करते हैं। हम 0 दशमलव 9 के लिए दशमलव अंक का उपयोग करते हैं, और वर्णमाला के पहले छह अक्षर, दशमलव संख्या 10 से 15 के हेक्साडेसिमल अंक के लिए, एंडैशएफ। नीचे दी गई तालिका बाइनरी, हेक्साडेसिमल और दशमलव संकेतन में पहले 16 नंबर (शून्य से शुरू होती है) दिखाती है। बाइनरी, हेक्साडेसिमल और दशमलव संख्या 16 से 2 2 4. यह आश्चर्यजनक नहीं है कि एक हेक्साडेसिमल अंक 4 बिट से मेल खाती है। क्या आप देख सकते हैं कि 3 9 7 के लिए हेक्साडेसिमल प्रतिनिधित्व क्या एक और दिलचस्प तथ्य होगा कि आपने देखा होगा कि द्विआधारी प्रतिनिधित्व का कम से कम महत्वपूर्ण बिट यह इंगित करता है कि संख्या अजीब है या यहां तक ​​कि डेटा को ट्रांसमिट करने और प्राप्त करने के लिए त्रुटि सुधार कोड एल्गोरिदम (नासा उपग्रह प्रसारण से लेकर सीडी प्लेयर तक हर चीज में इस्तेमाल किया जाता है) अक्सर इस संपत्ति का उपयोग करते हैं अपने इनपुट तत्वों को बड़े करीने से गठबंधन करने का एक आसान तरीका एक HTML एलटीटीएब्लेगट तत्व (एक उदाहरण नीचे दिखाया गया है) का उपयोग करना है तालिका में दो स्तंभ हैं। प्रत्येक इनपुट तालिका में एक अलग पंक्ति है। लेबल पहले कॉलम में हैं, और इनपुट फ़ील्ड दूसरे कॉलम में हैं। लेबल उनके स्तंभ के दाहिने हाथ के किनारे पर गठबंधन कर रहे हैं, और इनपुट फ़ील्ड उनके कॉलम के बाएं हाथ के किनारे पर गठबंधन कर रहे हैं। इस नमूना तालिका के लिए HTML कोड भी दिखाया गया है (तालिका के नीचे)। ltFORM METHODpostgt ltTABLE BORDER1 ALIGNCENTER CELLPADDING10gt ltTRgt ltTH COLSPAN2gtBinaryDecimalHexadecimal कनवर्टर इंटरफ़ेस ExampleltTHgt ltTRgt ltTRgt LTTD ALIGNRIGHTgtltBgtBinary: ltBgtltTDgt LTTD ALIGNLEFTgtltINPUT NAMEbin VALUE0 केवल पढ़ने के लिए onChangeConvertBin (फार्म) SIZE10gtltINPUTgtltTDgt ltTRgt ltTRgt LTTD ALIGNRIGHTgtltBgtDecimal: ltBgtltTDgt LTTD ALIGHLEFTgtltINPUT NAMEdec VALUE0 केवल पढ़ने के लिए onChangeConvertDec (फार्म) SIZE10gtltINPUTgtltTDgt ltTRgt ltTRgt LTTD ALIGNRIGHTgtltBgtHexadecimal: ltBgtltTDgt एलटीटीडी ALIGNLEFTgtltINPUT NAMEhex VALUE0 केवल पढ़ने के लिएपरिवर्तित करेंकोनवरहाक्स (फॉर्म) SIZE10gtltINPUTgtltTDgt ltTRgt ltTABLEgt ltFORMgt HTML तालिका कोड पर नोट्स ध्यान दें कि तालिका में प्रत्येक इनपुट तत्व का आकार समान है आपको अपने इनपुट तत्वों के लिए उचित आकार समझना होगा ताकि वे मूल्यों की समान श्रेणी को समायोजित कर सकें (याद रखें कि बाइनरी संख्या को आम तौर पर अधिक अंक की आवश्यकता होती है) ध्यान दें कि प्रत्येक इनपुट तत्व, ऑन-चेंज इवेंट का उपयोग करके जावास्क्रिप्ट फ़ंक्शन को कॉल करते हैं। इस प्रकार, जब उपयोगकर्ता एक मान बदलता है, तो इस फ़ंक्शन को दो अन्य प्रतिनिधित्वों के मानों को अपडेट करने के लिए कहा जाता है। हम आपको शुरू करने के लिए केवल कुछ महत्वपूर्ण बिंदुओं को कवर करने का प्रयास किया, तालिका के साथ एक साथ कैसे रखा गया है इसके बारे में हर विवरण नहीं। HTML तालिकाओं को लिखने के बारे में विस्तृत जानकारी के साथ ग्रंथसूची में एक संदर्भ है उस संदर्भ का उपयोग करके, आप तालिका के बारे में आपके पास के किसी भी शेष प्रश्न का उत्तर देने में सक्षम होना चाहिए। बिल्बिलोग्राफी में पहली प्रविष्टि एक आधार रूपांतरण एल्गोरिथम लिखने के बारे में जानकारी के लिए एक शानदार संदर्भ है यहाँ उपलब्ध सामग्री के साथ संयुक्त, आप एक साथ एक binarydecimalhexadecimal कनवर्टर डाल करने में सक्षम होना चाहिए। वैसे, तो आप पहले से प्रश्नों के अपने उत्तरों की जांच कर सकते हैं: एक बाइट 256 (2 8) अनन्य मानों को एन्कोड कर सकते हैं। 3 9 7 के लिए हेक्साडेसिमल प्रतिनिधित्व F39 है। प्रत्येक हेक्साडेसिमल अंक द्विआधारी प्रतिनिधित्व के 4 बिट्स से संबंधित है: 1111 0011 1001. नियम और अवधारणाएं इस प्रोजेक्ट को करने के लिए, आपको निम्नलिखित शब्दों और अवधारणाओं को समझना चाहिए (अपने ज्ञान में किसी भी अंतराल को भरने के लिए पृष्ठभूमि अनुसंधान करें): बाइनरी (बेस 2 ), दशमलव (आधार 10), हेक्साडेसिमल (आधार 16), बिट, बाइट, किलोबाइट (केबी), मेगाबटी (एमबी), रेडिक्स (संख्या बेस)। मूल HTML अवधारणाएं: प्रारंभ टैग और अंत टैग, टिप्पणियां, एलटीएचएडएजीटी अनुभाग, एलटीएससीआरआईपीटीटी अनुभाग, एलटीबीडीएजीटी अनुभाग, एलटीएआरएफ़एएमजीटी अनुभाग, एलटीएनपीयूटीजीटी टैग, एलटीटीएब्लेगट टैग, अपने सुचारू रूप से संरेखित करने के लिए। जावास्क्रिप्ट अवधारणाएं: फ़ंक्शन, वेरिएबल, ऑब्जेक्ट्स, प्रॉपर्टीज, मेथड्स, इवेंट्स, एरेज़ सामान्य प्रोग्रामिंग अवधारणाएं: आरक्षित शब्द, नियंत्रण स्टेटमेंट्स (उदाहरण के लिए यदि। अन्य वक्तव्य, के लिए और जबकि छोरों) ऑपरेटर: अंकगणितीय ऑपरेटर्स: प्लस, माइनस, टाइम्स, डिवाइड, मॉड्यूलस (.-), असाइनमेंट ऑपरेटर्स: उदा। । । -। । । तुलना ऑपरेटर: उदा। ली। जीटी। ली। जीटी। । तार्किक ऑपरेटरों: और, या और नहीं, (ampamp।)। परिचय में वर्णित पूर्णांक के द्विआधारी प्रतिनिधित्व का प्रयोग, कितने अद्वितीय पूर्णांक को 8 बिट्स के साथ प्रतिनिधित्व किया जा सकता है, 12 बिट्स के साथ n बिट्स, जहां n एक सकारात्मक पूर्णांक है, परिचय में वर्णित पूर्णांक के हेक्साडेसिमल प्रस्तुति का उपयोग करना, कितने अद्वितीय पूर्णांक एन हे हेडेडेसिमल अंकों के साथ 3 हेक्साडेसिमल अंकों के साथ 2 हेक्साडेसिमल अंकों के साथ प्रतिनिधित्व किया जाता है, जहां n एक सकारात्मक पूर्णांक है। ग्रंथसूची आधार रूपांतरण के जावास्क्रिप्ट कार्यान्वयन की व्याख्या: A. Bogomolny (एन. डी.)। इंटरेक्टिव मैथेमेटिक्स मिस्केल्नी और पहेलियाँ से बेस रूपांतरण एल्गोरिदम का कार्यान्वयन 17 मार्च 2018 को पुनर्प्राप्त किया गया, कट-द - knot. orgrecurrenceconversion. shtml से आप नीचे दी गई लिंक पर चरण-दर-चरण जावास्क्रिप्ट ट्यूटोरियल पा सकते हैं। ट्यूटोरियल का अध्ययन करने के बाद, आपको ऊपर सूचीबद्ध सभी प्रश्नों का उत्तर देने में सक्षम होना चाहिए, और आप एक साधारण कैलकुलेटर लिखने के लिए तैयार होंगे। वेबटेकर सॉफ्टवेयर (2006)। कुल गैर-प्रोग्रामर के लिए जावास्क्रिप्ट ट्यूटोरियल वेबटेकर सॉफ्टवेयर, एलएलसी 6 जून 2006 को पुनः प्राप्त, वेबटेचरजावास्क्रिप्ट इंडेक्स से: मैट जेमेल द्वारा प्रोग्रामिंग के लिए परिचय का वर्णन है कि प्रोग्रामिंग वास्तव में क्या है: जेमेल, एम। (2007) प्रोग्रामिंग का परिचय डीन निदेशक ट्यूटोरियल एम्प संसाधन 14 मार्च, 2018 को पुनःप्राप्त, डीनसांडाटोरटोरियललिलिंगोआईआई प्रॉडक्शनटोप्रोग्राममिंग पीडीएफ एचटीएमएल फ़ॉर्म के संदर्भ से: डब्लू 3 सी। (1999)। HTML दस्तावेज़ में प्रपत्र, HTML 4.01 विशिष्टता। वर्ल्ड वाइड वेब कंसोर्टियम: मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी, इंस्टीट्यूट नेशनल डे रिकफेर्ज़ एन इंफॉर्मेटीज एंड ऑटोमैटिक, केओ यूनिवर्सिटी। 6 जून, 2006 को पुनः प्राप्त, w3.orgTRREC-html40interactforms. html HTML टेबल्स संदर्भ से: W3C (1999)। HTML दस्तावेज़ों में तालिकाएं वर्ल्ड वाइड वेब कंसोर्टियम: मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी, इंस्टीट्यूट नेशनल डे रिकफेर्ज़ एन इंफॉर्मेटीज एंड ऑटोमैटिक, केओ यूनिवर्सिटी। W3.orgTRREC-html40structtables. html से आरक्षित शब्दों की एक सूची, (आप अपने प्रोग्राम में फ़ंक्शन या वेरिएबल नामों के लिए इन शब्दों का उपयोग नहीं कर सकते, क्योंकि वे प्रोग्रामिंग भाषा के लिए आरक्षित हैं): जावास्क्रिप्ट किट (2006)। जावास्क्रिप्ट आरक्षित शब्द JavaScriptkitjsrefreserved. shtml से 6 जून, 2006 को पुनःप्राप्त, एक जावास्क्रिप्ट संदर्भ: मोज़िला डेवलपर नेटवर्क और व्यक्तिगत योगदानकर्ता। (2018, दिसंबर 14)। जावास्क्रिप्ट संदर्भ। 14 मार्च, 2018 को डेवलपर से प्राप्त किया गया। Mozilla. orgen-USdocsWebJavaScriptReference यदि आप रुचि रखते हैं और बहुत सारे वेब विकास करना शुरू करते हैं, तो आप एक टेक्स्ट एडिटर का उपयोग करना चाह सकते हैं जो नोटपैड की तुलना में थोड़ा अधिक परिष्कृत है। वेब डेवलपमेंट और प्रोग्रामिंग के लिए डिज़ाइन किया गया एक संपादक फ़ॉर्मेट करने में मदद कर सकता है ताकि आपका कोड अधिक पठनीय हो, लेकिन अभी भी सादा पाठ फाइलें तैयार कर सकता है। इस प्रकार के संपादक वेब-विशिष्ट HTML कोडन विवरण भी भर सकते हैं और वाक्य रचना हाइलाइटिंग कर सकते हैं (उदा। एचटीएमएल की स्वचालित रंग-कोडिंग), जो आपको त्रुटियों को खोजने में मदद कर सकता है। एक विकल्प है कॉफीकप एचटीएमएल संपादक, जो कि माइक्रोसॉफ्ट विंडोज और एप्पल ओएस एक्स के लिए फ्री और पूरी तरह से उपलब्ध संस्करणों में उपलब्ध है। सामग्री और उपकरण कंप्यूटर के साथ वेब ब्राउज़र (जैसे इंटरनेट एक्सप्लोरर, फ़ायरफ़ॉक्स) पाठ-संपादन प्रोग्राम जैसे कि नोटपैड वैकल्पिक रूप से यदि आप स्वरूपण और वाक्य रचना के साथ अतिरिक्त सहायता चाहते हैं, तो कॉफ़ीकप जैसे एक HTML संपादक का प्रयास करें। विकल्प में माइक्रोसॉफ्ट विंडोज और एप्पल ओएस एक्स के लिए फ्री और पूरी तरह से छपा संस्करण शामिल हैं। प्रायोगिक प्रक्रिया जो आपने विभिन्न आधारों और जावास्क्रिप्ट में प्रोग्रामिंग में पूर्णांक प्रतिनिधित्व के बारे में सीखा है, एक बाइनरीडेकिलहेक्साडेसीमल कनवर्टर बनाएँ। कार्यक्रम के प्रत्येक प्रकार के नंबर के लिए अलग-अलग इनपुट फ़ील्ड होने चाहिए। याद रखें कि द्विआधारी निरूपण आमतौर पर दशमलव या हेक्साडेसिमल प्रस्तुतियों से अधिक अंकों का उपयोग करते हैं, इसलिए अपने इनपुट फ़ील्ड के आकार को तदनुसार समायोजित करें। चेंज इवेंट पर इनपुट फ़ील्ड का उपयोग करें ताकि जब उपयोगकर्ता किसी एक फ़ील्ड में संख्या दर्ज करे, तो दूसरे दो नए नंबर के साथ अपडेट हो जाएंगे, उपयुक्त बेस में रूपांतरित हो जाएंगे। यहां कई उप-कार्य हैं एक समय में उप-कार्य एक लो, और धीरे-धीरे अपने कार्यक्रम की क्षमताओं का निर्माण करें। सत्यापित करें कि प्रत्येक उप-कार्य के लिए कोड अगले उप-कार्य पर जाने से पहले ठीक से काम कर रहा है। प्रत्येक प्रकार के इनपुट से रूपांतरणों को सत्यापित करके अपने कार्यक्रम की जांच करें। इस प्रोजेक्ट के साथ आरंभ करने के साथ-साथ कुछ आम तौर पर लागू होने वाले प्रोग्रामिंग सुझावों को ध्यान में रखना है। अपने काम की योजना बनाएं अपनी प्रोग्रामिंग समस्या को हल करने के लिए सभी चरणों के माध्यम से मेथिक रूप से सोचें। कार्यों को छोटे, प्रबंधनीय कार्यों में पार्सल करने का प्रयास करें प्रत्येक फ़ंक्शन के लिए इंटरफ़ेस के बारे में सोचें: कार्य करने के लिए कौन सी तर्कों को पारित किया जाना चाहिए ताकि यह अपना काम कर सके, अपना कोड समझने के लिए सावधान नामकरण, अच्छा स्वरूपण और वर्णनात्मक टिप्पणियों का उपयोग करें। अपने कार्य और वेरिएबल नाम दें, जो कार्यक्रम में उनके उद्देश्य को दर्शाते हैं। नामों का एक अच्छा विकल्प कोड को अधिक पठनीय बनाता है। समारोह के शरीर में बयान दर्ज करें, इसलिए यह स्पष्ट है कि फ़ंक्शन कोड कहाँ शुरू होता है और समाप्त होता है यदि, अन्य, के लिए, या नियंत्रण कथन के तहत, निम्नलिखित ब्योरे इनेंट करें इस तरह से आप आसानी से देख सकते हैं कि किसी दिए गए शाखा या आपके कोड में लूप के लिए कौन सी बयानों का निष्पादन किया जाता है। वर्णनात्मक टिप्पणियां अपने आप को नोट की तरह हैं प्रोग्रामिंग में बार-बार, आप एक समस्या की तरह एक से पहले हल करेंगे। यदि आपके कोड को अच्छी तरह से टिप्पणी की जाती है, तो इसे वापस जाने के लिए आसान बना दिया जाएगा और इसके बाद के टुकड़े फिर से उपयोग करेगा। आपकी टिप्पणी आपको याद रखेगी कि आपने पिछली समस्या का समाधान कैसे किया। कार्य क्रमिक रूप से जब आप कोई प्रोग्राम बना रहे हैं, तो यह लगभग अपरिहार्य है कि जिस तरह से आप बग भी बनाएंगे कीड़े आपके कोड में गलती हैं, जो आपके प्रोग्राम को उस तरीके से व्यवहार करने का कारण बनती हैं, जिसका आप इरादा नहीं करते, या इसे पूरी तरह से काम करना बंद कर देते हैं। कोड की अधिक पंक्तियां, बग के लिए अधिक संभावनाएं इसलिए, विशेष रूप से जब आप पहली बार शुरू कर रहे हैं, तो वृद्धिशील रूप से काम करने के लिए महत्वपूर्ण है एक समय में केवल एक परिवर्तन करें, सुनिश्चित करें कि यह अपेक्षित काम करता है और फिर आगे बढ़ें। जावास्क्रिप्ट के साथ, यह करना आसान है। अपना कोड जांचने के लिए, आपको केवल अपने कोड का उपयोग करने वाली HTML फ़ाइल खोलने के लिए अपने वेब ब्राउज़र का उपयोग करना होगा। आपके टेक्स्ट एडिटर के साथ कोड में परिवर्तन करने के बाद, बस फ़ाइल सहेजें, फिर अपने ब्राउज़र पर स्विच करें और कार्रवाई में बदलाव देखने के लिए पुन: लोड करें पृष्ठ बटन दबाएं। यह सुनिश्चित करने के लिए टेस्ट करें कि आपका कोड अपेक्षित रूप से काम करता है यदि आपके कोड में शाखा अंक हैं जो उपयोगकर्ता इनपुट पर निर्भर करते हैं, तो यह सुनिश्चित कर लें कि आप हर संभव शाखा अंक का परीक्षण कर लें ताकि कोई आश्चर्य नहीं हो। साथ ही, यह एक अच्छा विचार है कि आपकी फ़ाइल बैकअप के लिए एक बार थोड़ी देर में एक अलग नाम के साथ। इस तरह, यदि कोई वास्तव में गलत हो जाता है और आप इसे समझ नहीं सकते, तो आपको स्क्रैच से शुरू करने की आवश्यकता नहीं है। इसके बजाए आप पहले के संस्करण में वापस जा सकते हैं जो काम किया है, और वहां से शुरू हो सकता है। जैसा कि आप एक विशेष प्रोग्रामिंग वातावरण के साथ और अधिक अनुभव प्राप्त करते हैं, आप एक बार में कोड के बड़े हिस्से लिख सकते हैं। फिर भी, यह याद रखना महत्वपूर्ण है कि कोड के प्रत्येक नए अनुभाग का परीक्षण करना सुनिश्चित करने के लिए यह अगले भाग पर जाने से पहले अपेक्षित काम करता है। वृद्धिशील रूप से काम करने की आदत में होकर, आप बग की पहचान और फिक्सिंग करने में कितने समय बिताते हैं डीबगिंग करते समय, समस्या को अलग करने के लिए व्यवस्थित कार्य करें हम आपको बता चुके हैं कि बग अपरिहार्य है, तो आप उनका निवारण कैसे करते हैं, पहला कदम इस समस्या को अलग करना है: जिस पंक्ति ने कार्यक्रम को अपेक्षित रूप से काम करना बंद कर दिया था यदि आप पिछले टिप का पालन कर रहे हैं और संवर्धित रूप से काम कर रहे हैं, तो आप बहुत यकीन है कि यह समस्या उस पंक्ति के साथ है जो आपने अभी लिखा है। साधारण टाइपो के लिए पहले जांचें एक गलत वर्तनी वाला फ़ंक्शन नाम पहचाना नहीं जाएगा। जावास्क्रिप्ट में, एक गलत वर्तनी चर नाम सिर्फ एक नया चर बनाता है। यह करने के लिए एक आसान गलती है, और खोजने में मुश्किल हो सकती है आरक्षित शब्दों को चर या फ़ंक्शन नामों के रूप में इस्तेमाल करने से बचें। अपने कार्यक्रम को अच्छी तरह से जांचें आपको इसे लिखने के साथ-साथ प्रोग्राम की जांच करना चाहिए, लेकिन आपको यह सुनिश्चित करने के लिए पूरा प्रोग्राम भी जांचना चाहिए कि यह अपेक्षित रूप से व्यवहार करता है विविधता प्रत्येक इनपुट को जांचने के लिए कार्य जोड़ती है यह सुनिश्चित करने के लिए कि केवल उपयुक्त अंक दर्ज किए गए हैं। अंतर्निर्मित जावास्क्रिप्ट चेतावनी () फ़ंक्शन का प्रयोग करें जो कि उपयोगकर्ता को बताए गए संदेश को पॉप अप करने के लिए समस्या है और उन्हें एक मान्य संख्या दर्ज करने के लिए कह रहा है। आधार कनवर्टर को आधार 2 से आधार 36 को संभालने के लिए अपने कनवर्टर को सामान्य बनाएं (जब वर्णमाला अधिक अंक के लिए वर्णों से बाहर निकलती है)। कनवर्टर जो आपने लिखा है वह अहस्ताक्षरित पूर्णांक के लिए डिज़ाइन किया गया है (सकारात्मक पूर्णांक और शून्य)। नकारात्मक संख्या के बारे में क्या और अधिक उन्नत परियोजना के लिए, यह जानने के लिए शोध करें कि बाइनरी अंकन में नकारात्मक संख्या कैसे दर्शायी जाती हैं और नकारात्मक संख्या को संभालने के लिए अपने कनवर्टर का विस्तार करें। तर्कसंगत संख्याओं के बारे में, अधिक उन्नत प्रोजेक्ट के लिए, यह जानने के लिए शोध करें कि बाइनरी नोटेशन में फ़्लोटिंग बिंदु संख्या कैसे प्रदर्शित की जाती हैं और इन नंबरों को संभालने के लिए अपने कनवर्टर का विस्तार करें। एक विशेषज्ञ से पूछें एक विशेषज्ञ फोरम से पूछो ऐसा जगह है जहां छात्रों को विज्ञान के सवालों के जवाब मिल सकते हैं कि वे अन्य संसाधनों का उपयोग करने में असमर्थ हैं। यदि आपके पास आपके विज्ञान मेला परियोजना या विज्ञान निष्पक्ष के बारे में विशिष्ट प्रश्न हैं, तो स्वयंसेवक वैज्ञानिकों की हमारी टीम मदद कर सकती है। हमारे विशेषज्ञ आपके लिए काम करते हैं, लेकिन वे सुझाव देंगे, मार्गदर्शन करेंगे और आपको समस्या निवारण में मदद करेंगे। सम्बंधित लिंक्स

No comments:

Post a Comment