टेक्स्ट और रोजमर्रा के टूल · QR और बारकोड टूलकिट
Code 128 चेक अंक कैसे काम करता है: एक मॉड्यूलो 103 वॉकथ्रू
· यह काम किस प्रकार करता है
एन्कोडिंग मान्यकरण डेवलपर-वर्कफ़्लो
एक छोटे लेबल के लिए हाथ से Code 128 चेक कैरेक्टर की गणना करता है, भारित योग, मॉड्यूलो 103 चरण को समझाता है और योग गलत होने पर स्कैनर लेबल को क्यों अस्वीकार करता है।
अस्वीकृत या गलत पढ़े गए लेबल के निदान की आवश्यकता है; चेक कैरेक्टर केवल एक संभावित कारण है
कुछ भी न लौटाने वाला स्कैनर यह साबित नहीं करता कि चेक कैरेक्टर विफलता का कारण बना; शांत-क्षेत्र क्षति, प्रिंट गुणवत्ता या असमर्थित इनपुट समान लक्षण उत्पन्न कर सकते हैं। रिपॉजिटरी जो साबित करती है वह यह है कि उत्पन्न Code 128 में स्टॉप पैटर्न से पहले एक परिकलित चेक प्रतीक शामिल होता है।
एक साफ़ विफलता जांच सटीक लौटाए गए पाठ और भौतिक लेबल से शुरू होती है। ToolAcre गारंटी देता है कि इसकी उत्पन्न बाइनरी एक वैध प्रारंभ पैटर्न के साथ शुरू होती है और निश्चित स्टॉप पैटर्न के साथ समाप्त होती है; यह स्क्रैच किए गए प्रिंट, स्कैनर कॉन्फ़िगरेशन या ऐसे एप्लिकेशन का निरीक्षण नहीं कर सकता जो डिकोड किए गए पहचानकर्ता को अस्वीकार करता है। SVG के समान मान को पुन: उत्पन्न करने और एक ताज़ा प्रमाण को स्कैन करने से चेकसम को दोष देने से पहले एन्कोडिंग को क्षति से अलग करने में मदद मिलती है।
प्रतीक मान, ASCII कोड नहीं - कैसे Code 128 एक कोड सेट के भीतर प्रत्येक वर्ण को 0 से 102 तक मान निर्दिष्ट करता है
Code 128 केवल प्रदर्शित ASCII बाइट मानों को जोड़ने के बजाय प्रतीक मानों के साथ काम करता है। ToolAcre प्रतिनिधि JsBarcode के CODE128_AUTO एनकोडर पर चयन और प्रतीक निर्माण सेट करते हैं, फिर पुष्टि करते हैं कि लौटाया गया पैटर्न केवल बाइनरी मॉड्यूल से बना है।
जब स्वचालित एनकोडर सेट बदलता है तो अंतर दिखाई देता है। एक प्रदर्शित अंक में संदर्भ से स्वतंत्र एक सार्वभौमिक चेकसम संख्या नहीं होती है; इसका प्रतीक मान सक्रिय Code 128 सेट पर निर्भर करता है, और सेट C एक प्रतीक के रूप में अंकों की एक जोड़ी का प्रतिनिधित्व कर सकता है। इसीलिए ASCII कैरेक्टर कोड को हाथ से जोड़ना गलत मॉडल है। चेकसम को एनकोडर द्वारा चुने गए किसी भी सेट परिवर्तन सहित वास्तविक उत्सर्जित प्रतीक अनुक्रम का पालन करना चाहिए।
भारित योग - प्रारंभ कोड को एक बार गिना जाता है, फिर प्रत्येक प्रतीक को उसकी स्थिति से गुणा किया जाता है और जोड़ा जाता है
चेकसम प्रारंभ प्रतीक मान से शुरू होता है, फिर प्रत्येक निम्नलिखित डेटा प्रतीक को उसकी एक-आधारित स्थिति के आधार पर महत्व देता है। उस स्थितिगत भार का मतलब है कि दो प्रतीकों का आदान-प्रदान आमतौर पर योग में बदलाव करता है, भले ही प्रदर्शित वर्णों का सेट समान रहता हो।
स्थिति शून्य विशेष है: प्रारंभ मान एक बार दर्ज होता है, जबकि प्रत्येक निम्नलिखित प्रतीक को उसकी एक-आधारित डेटा स्थिति से गुणा किया जाता है। यह चेकसम को ऑर्डर के प्रति संवेदनशील बनाता है। अलग-अलग स्थितियों में समान वर्ण वाले दो शेल्फ कोड आमतौर पर अलग-अलग अवशेष उत्पन्न करते हैं, जो वास्तव में उपयोगी विफलता संकेत होता है जब एक बार को गलत तरीके से पढ़ा जाता है या ट्रांसपोज़्ड स्रोत डेटा से एक लेबल उत्पन्न होता है।
मोडुलो 103 - 103 क्यों और 100 क्यों नहीं, और शेष कैसे स्टॉप पैटर्न से पहले तैयार किया गया चेक कैरेक्टर बन जाता है
भारित योग मॉड्यूल 103 लेने से स्टॉप पैटर्न के ठीक पहले रखा गया चेक-प्रतीक मान उत्पन्न होता है। रिपॉजिटरी मानव-पठनीय कैप्शन पर भरोसा करके नहीं, बल्कि उत्पन्न प्रतीकों को पार्स करके और शेष को पुन: गणना करके इस अपरिवर्तनीय का परीक्षण करता है।
शेष एक सामान्य Code 128 प्रतीक मान में फिट बैठता है, इसलिए इसे टर्मिनेटर से पहले डाला जा सकता है और दृश्य पाठ को जोड़े बिना पाठक द्वारा जांचा जा सकता है। ToolAcre उस सम्मिलन को CODE128_AUTO को सौंपता है और फिर लौटाए गए बाइनरी को आर्टिफैक्ट के रूप में मानता है। इसका अपना दूसरा गेट किसी ऐसे पैटर्न की मरम्मत या अनुमान लगाने का प्रयास करने के बजाय एक अमान्य एनकोडर परिणाम को अस्वीकार कर देता है जिसके बारे में कहा गया है कि निर्भरता प्रतिनिधित्व योग्य नहीं है।
कार्यान्वित उदाहरण: असमर्थित हाथ परिणाम का आविष्कार किए बिना उत्पन्न प्रतीक अनुक्रम का निरीक्षण करें
A12-07 दर्ज करें और ToolAcre प्रारंभ, डेटा, जांच और स्टॉप प्रतीकों को एक बाइनरी पैटर्न के रूप में बनाता है। स्रोत इस सटीक स्ट्रिंग के लिए हाथ से प्राप्त प्रतीक तालिका प्रकाशित नहीं करता है, इसलिए यह वॉकथ्रू शेषफल का आविष्कार करने के बजाय सत्यापित एल्गोरिदम पर रुक जाता है।
इसलिए एक जिम्मेदार कार्यशील जांच उत्पन्न आर्टिफैक्ट से शुरू होती है। `A12-07` दर्ज करें, सटीक स्रोत मान बनाए रखें, और पुष्टि करें कि निर्यातित बारकोड का सुलभ लेबल और वैकल्पिक कैप्शन अभी भी `A12-07` दिखाता है। यदि हाथ से गणना की आवश्यकता हो तो एक अलग मानक-जागरूक डिकोडर प्रतीकों का निरीक्षण कर सकता है। यह भंडार मध्यवर्ती मूल्यों को उजागर नहीं करता है, इसलिए यहां संख्यात्मक शेष प्रकाशित करना ToolAcre के साक्ष्य के बजाय एक असमर्थित पुनर्निर्माण होगा।
आप स्वयं कभी भी चेक वर्ण क्यों टाइप नहीं करते - जेनरेटर इसे जोड़ देता है, और हाथ से टाइप किया गया अक्षर फिर से चेकसम हो जाएगा
टेक्स्ट फ़ील्ड में चेक कैरेक्टर न जोड़ें. एनकोडर प्रत्येक टाइप किए गए कैरेक्टर को पेलोड के रूप में मानता है, फिर उस विस्तारित पेलोड पर एक नए चेक प्रतीक की गणना करता है, जिससे स्कैनर्स को एक अतिरिक्त डेटा कैरेक्टर वापस करने के लिए छोड़ दिया जाता है जिसका आपने कभी इरादा नहीं किया था।
अतिरिक्त-चरित्र विफलता को वैचारिक रूप से पुन: पेश करना आसान है। यदि कोई वेयरहाउस प्रक्रिया कर्मचारियों को एक अनुमानित चेक कैरेक्टर जोड़ने के लिए कहती है, तो ToolAcre इसे सामान्य पेलोड के रूप में प्राप्त करता है और लाइब्रेरी लंबी स्ट्रिंग पर एक और चेक की गणना करती है। फिर एक स्कैनर संलग्न वर्ण को डेटा के रूप में लौटाता है। चेकसम सत्यापन सफल होने के बावजूद डेटाबेस लुकअप विफल हो जाता है, क्योंकि पीढ़ी ने गलत पहचानकर्ता को पूरी तरह से सुरक्षित रखा है।
इसमें क्या शामिल नहीं है - GS1-128 एप्लिकेशन पहचानकर्ता और मॉड 10 EAN और UPC द्वारा उपयोग किए गए चेक अंक
यह गणना GS1-128, EAN या UPC नहीं बनाती है। टूलकिट सामान्य Code 128 उत्पन्न करता है और इसमें कोई FNC1 या रिटेल-नंबर आवंटन वर्कफ़्लो नहीं होता है, जबकि इसका कॉन्फ़िगरेशन स्पष्ट रूप से उन अन्य सहजीवन को टूल के दायरे से बाहर रखता है।
GS1 और रिटेल चेक अलग-अलग वर्कफ़्लो से संबंधित हैं क्योंकि उनकी डेटा संरचना अंतिम अंकगणितीय चरण से कहीं अधिक है। ToolAcre में कोई FNC1 नियंत्रण, एप्लिकेशन-पहचानकर्ता पार्सर, GTIN आवंटन जांच या EAN/UPC आउटपुट नहीं है। इनमें से किसी की भी आवश्यकता वाले आपूर्तिकर्ता लेबल को इस सादे Code 128 फ़ील्ड में ब्रैकेटेड टेक्स्ट या mod-10 अंक की प्रतिलिपि बनाकर अनुरूप नहीं बनाया जा सकता है।
टेकअवे - QR और बारकोड टूलकिट आपके ब्राउज़र में चेक कैरेक्टर की गणना करता है और जोड़ता है, इसलिए आप केवल डेटा टाइप करते हैं
व्यावहारिक विभाजन सरल है: केवल शेल्फ पहचानकर्ता टाइप करें, एनकोडर को कोड सेट का चयन करने दें और मॉड्यूल 103 की गणना करें, फिर उत्पन्न शांत क्षेत्रों को संरक्षित करें। ToolAcre उस अनुक्रम को स्थानीय रूप से निष्पादित करता है और परिणामी बार को SVG या PNG के रूप में निर्यात करता है।
उत्पन्न फ़ाइल के बगल में सत्य का मानवीय स्रोत रखें: शाब्दिक पहचानकर्ता, उसका स्वामी और एक परीक्षण स्कैन परिणाम। यदि बाद में प्रिंट विफल हो जाता है, तो आंखों से बार का पता लगाने के बजाय उस मान से पुन: उत्पन्न करें। ब्राउज़र जनरेटर एक मैन्युअल चेकसम अवसर को हटा देता है, जबकि इन्वेंट्री सिस्टम के विरुद्ध शांत क्षेत्रों, प्रिंट गुणवत्ता और बाइट-फॉर-बाइट लुकअप को सत्यापित करने की परिचालन आवश्यकता को संरक्षित करता है।