ไทย

เครื่องมือข้อความและชีวิตประจำวัน · ชุดเครื่องมือ QR และบาร์โค้ด

หลักการตรวจสอบ Code 128 ทำงานอย่างไร: คำแนะนำแบบโมดูโล 103

· มันทำงานอย่างไร

การเข้ารหัส การตรวจสอบ นักพัฒนาเวิร์กโฟลว์

สัญลักษณ์ Code 128 แบบถ่วงน้ำหนักไหลเข้าสู่สัญลักษณ์ตรวจสอบแบบโมดูโล 103
ภาพประกอบเวกเตอร์ต้นฉบับ ToolAcre

คำนวณอักขระตรวจสอบ Code 128 ด้วยมือสำหรับป้ายกำกับแบบสั้น อธิบายผลรวมถ่วงน้ำหนัก ขั้นตอนโมดูโล 103 และเหตุใดเครื่องสแกนจึงปฏิเสธป้ายกำกับเมื่อผลรวมไม่ถูกต้อง

ฉลากที่ถูกปฏิเสธหรืออ่านผิดจำเป็นต้องได้รับการวินิจฉัย อักขระตรวจสอบเป็นสาเหตุที่เป็นไปได้เพียงสาเหตุเดียวเท่านั้น

เครื่องสแกนที่ไม่ส่งคืนสิ่งใดไม่ได้พิสูจน์ว่าอักขระตรวจสอบทำให้เกิดความล้มเหลว ความเสียหายของโซนเงียบ คุณภาพการพิมพ์ หรืออินพุตที่ไม่รองรับอาจทำให้เกิดอาการคล้ายกันได้ สิ่งที่พื้นที่เก็บข้อมูลพิสูจน์ได้ว่า Code 128 ที่สร้างขึ้นมีสัญลักษณ์ตรวจสอบที่คำนวณได้ก่อนรูปแบบการหยุด

การตรวจสอบความล้มเหลวทั้งหมดจะเริ่มต้นด้วยข้อความที่ส่งคืนและป้ายกำกับทางกายภาพ ToolAcre รับประกันว่าไบนารีที่สร้างขึ้นเริ่มต้นด้วยรูปแบบเริ่มต้นที่ถูกต้องและสิ้นสุดด้วยรูปแบบหยุดคงที่ ไม่สามารถตรวจสอบการพิมพ์ที่มีรอยขีดข่วน การกำหนดค่าสแกนเนอร์ หรือแอปพลิเคชันที่ปฏิเสธตัวระบุที่ถอดรหัสได้ การสร้างค่าเดียวกันกับ SVG และการสแกนหลักฐานใหม่จะช่วยแยกแยะการเข้ารหัสจากความเสียหายก่อนที่ใครจะตำหนิผลรวมตรวจสอบ

ค่าสัญลักษณ์ ไม่ใช่รหัส ASCII — วิธีที่ Code 128 กำหนดค่าอักขระแต่ละตัวตั้งแต่ 0 ถึง 102 ภายในชุดโค้ด

Code 128 ทำงานกับค่าสัญลักษณ์แทนที่จะเพิ่มค่าไบต์ ASCII ที่แสดง ToolAcre มอบหมายการตั้งค่าการเลือกและการสร้างสัญลักษณ์ให้กับตัวเข้ารหัส CODE128_AUTO ของ JsBarcode จากนั้นตรวจสอบว่ารูปแบบที่ส่งคืนนั้นสร้างจากโมดูลไบนารี่เท่านั้น

ความแตกต่างจะปรากฏให้เห็นเมื่อตัวเข้ารหัสอัตโนมัติเปลี่ยนแปลงการตั้งค่า ตัวเลขที่แสดงไม่มีหมายเลขตรวจสอบสากลหนึ่งหมายเลขโดยไม่ขึ้นกับบริบท ค่าสัญลักษณ์ขึ้นอยู่กับชุด Code 128 ที่ใช้งานอยู่ และชุด C สามารถแทนตัวเลขคู่หนึ่งเป็นสัญลักษณ์เดียวได้ นั่นคือสาเหตุที่การเพิ่มรหัสอักขระ ASCII ด้วยมือจึงเป็นรุ่นที่ไม่ถูกต้อง ผลรวมตรวจสอบจะต้องเป็นไปตามลำดับสัญลักษณ์ที่ปล่อยออกมาจริง รวมถึงการเปลี่ยนแปลงชุดใดๆ ที่เลือกโดยตัวเข้ารหัส

ผลรวมถ่วงน้ำหนัก — โค้ดเริ่มต้นนับหนึ่งครั้ง จากนั้นทุกสัญลักษณ์จะคูณด้วยตำแหน่งแล้วบวกกัน

การตรวจสอบเริ่มต้นด้วยค่าสัญลักษณ์เริ่มต้น จากนั้นให้น้ำหนักสัญลักษณ์ข้อมูลแต่ละรายการต่อไปนี้ด้วยตำแหน่งที่มีฐานเดียว การถ่วงน้ำหนักตำแหน่งนั้นหมายความว่าการแลกเปลี่ยนสัญลักษณ์สองตัวมักจะเปลี่ยนผลรวมแม้ว่าชุดอักขระที่แสดงจะยังคงเหมือนเดิมก็ตาม

ตำแหน่งศูนย์เป็นแบบพิเศษ: ค่าเริ่มต้นจะป้อนหนึ่งครั้ง ในขณะที่สัญลักษณ์ต่อไปนี้แต่ละตัวจะคูณด้วยตำแหน่งข้อมูลแบบฐานเดียว ซึ่งทำให้การตรวจสอบผลรวมมีความละเอียดอ่อนต่อคำสั่งซื้อ รหัสชั้นวางสองตัวที่มีอักขระเดียวกันในตำแหน่งที่แตกต่างกันมักจะสร้างเศษที่แตกต่างกัน ซึ่งเป็นสัญญาณความล้มเหลวที่มีประโยชน์อย่างแม่นยำเมื่อมีการอ่านแถบผิดหรือสร้างป้ายกำกับจากข้อมูลต้นฉบับที่ถูกย้าย

Modulo 103 — ทำไม 103 และไม่ใช่ 100 และวิธีที่ส่วนที่เหลือกลายเป็นอักขระเช็คที่วาดก่อนรูปแบบหยุด

การใช้โมดูโลผลรวมถ่วงน้ำหนัก 103 จะสร้างค่าเครื่องหมายถูกที่วางทันทีก่อนรูปแบบหยุด พื้นที่เก็บข้อมูลจะทดสอบค่าคงที่นี้โดยการแยกวิเคราะห์สัญลักษณ์ที่สร้างขึ้นและคำนวณส่วนที่เหลือใหม่ ไม่ใช่โดยการเชื่อถือคำอธิบายภาพที่มนุษย์สามารถอ่านได้

ส่วนที่เหลือพอดีกับค่าสัญลักษณ์ Code 128 ปกติหนึ่งค่า จึงสามารถแทรกไว้หน้าจุดสิ้นสุด และตรวจสอบโดยผู้อ่านโดยไม่ต้องเพิ่มข้อความที่มองเห็นได้ ToolAcre มอบสิทธิ์การแทรกนั้นให้กับ CODE128_AUTO จากนั้นถือว่าไบนารีที่ส่งคืนเป็นสิ่งประดิษฐ์ เกตที่สองของตัวเองปฏิเสธผลลัพธ์ของการเข้ารหัสที่ไม่ถูกต้อง แทนที่จะพยายามซ่อมแซมหรือเดารูปแบบที่การขึ้นต่อกันดังกล่าวไม่สามารถแสดงได้

ตัวอย่างการทำงาน: ตรวจสอบลำดับสัญลักษณ์ที่สร้างขึ้นโดยไม่สร้างผลลัพธ์มือที่ไม่รองรับ

ป้อน A12-07 และ ToolAcre สร้างสัญลักษณ์เริ่มต้น ข้อมูล ตรวจสอบ และหยุดให้เป็นรูปแบบไบนารี่เดียว แหล่งที่มาไม่ได้เผยแพร่ตารางสัญลักษณ์ที่ได้มาด้วยมือสำหรับสตริงที่ตรงกันทุกประการ ดังนั้นคำแนะนำนี้จึงหยุดที่อัลกอริธึมที่ผ่านการตรวจสอบแล้ว แทนที่จะสร้างเศษที่เหลือ

การตรวจสอบการทำงานที่รับผิดชอบจึงเริ่มต้นจากสิ่งประดิษฐ์ที่สร้างขึ้น ป้อน `A12-07` เก็บค่าแหล่งที่มาที่แน่นอน และยืนยันว่าป้ายกำกับที่สามารถเข้าถึงได้ของบาร์โค้ดที่ส่งออกและคำอธิบายภาพเพิ่มเติมยังคงแสดง `A12-07` ตัวถอดรหัสที่รับรู้มาตรฐานแยกต่างหากสามารถตรวจสอบสัญลักษณ์ได้หากจำเป็นต้องคำนวณด้วยมือ พื้นที่เก็บข้อมูลนี้ไม่เปิดเผยค่ากลาง ดังนั้นการเผยแพร่ส่วนที่เหลือที่เป็นตัวเลขที่นี่จะเป็นการสร้างใหม่ที่ไม่ได้รับการสนับสนุน แทนที่จะเป็นหลักฐานจาก ToolAcre

ทำไมคุณไม่เคยพิมพ์อักขระเช็คด้วยตัวเอง - ตัวสร้างจะต่อท้ายอักขระนั้น และตัวที่พิมพ์ด้วยมือจะถูกรวมอีกครั้ง

อย่าเพิ่มอักขระกาเครื่องหมายต่อท้ายช่องข้อความ ตัวเข้ารหัสจะถือว่าอักขระที่พิมพ์ทุกตัวเป็นเพย์โหลด จากนั้นจึงคำนวณสัญลักษณ์เช็คใหม่บนเพย์โหลดที่ขยายนั้น ปล่อยให้เครื่องสแกนส่งคืนอักขระข้อมูลเพิ่มเติมที่คุณไม่เคยตั้งใจไว้

ความล้มเหลวของอักขระพิเศษนั้นง่ายต่อการทำซ้ำตามแนวคิด หากขั้นตอนคลังสินค้าบอกให้พนักงานต่อท้ายอักขระเช็คที่ควรจะเป็น ToolAcre จะได้รับเป็นเพย์โหลดปกติ และห้องสมุดจะคำนวณเช็คอื่นในสตริงที่ยาวกว่า เครื่องสแกนจะส่งกลับอักขระที่ต่อท้ายเป็นข้อมูล การค้นหาฐานข้อมูลล้มเหลวแม้ว่าการตรวจสอบความถูกต้องจะสำเร็จ เนื่องจากการสร้างป้องกันตัวระบุที่ไม่ถูกต้องอย่างสมบูรณ์

สิ่งนี้ไม่ครอบคลุม — GS1-128 ตัวระบุแอปพลิเคชันและ mod 10 ตรวจสอบหลักที่ใช้โดย EAN และ UPC

การคำนวณนี้ไม่ได้สร้าง GS1-128, EAN หรือ UPC ชุดเครื่องมือสร้าง Code 128 แบบธรรมดาและไม่มี FNC1 หรือเวิร์กโฟลว์การจัดสรรหมายเลขขายปลีก ในขณะที่การกำหนดค่าจะวางสัญลักษณ์อื่นๆ เหล่านั้นไว้นอกขอบเขตของเครื่องมืออย่างชัดเจน

GS1 และเช็คขายปลีกอยู่ในขั้นตอนการทำงานที่แตกต่างกัน เนื่องจากโครงสร้างข้อมูลเป็นมากกว่าขั้นตอนทางคณิตศาสตร์ขั้นสุดท้าย ToolAcre ไม่มีการควบคุม FNC1, ตัวแยกวิเคราะห์แอปพลิเคชัน, การตรวจสอบการจัดสรร GTIN หรือเอาต์พุต EAN/UPC ป้ายกำกับซัพพลายเออร์ที่ต้องการสิ่งใดสิ่งหนึ่งไม่สามารถทำให้สอดคล้องได้โดยการคัดลอกข้อความในวงเล็บหรือ mod-10 หลักลงในฟิลด์ Code 128 ธรรมดานี้

สิ่งที่ต้องเตรียม — QR & Barcode Toolkit จะคำนวณและเพิ่มเครื่องหมายถูกในเบราว์เซอร์ของคุณ ดังนั้นคุณจึงพิมพ์เฉพาะข้อมูลเท่านั้น

การแบ่งส่วนในทางปฏิบัตินั้นง่ายดาย: พิมพ์เฉพาะตัวระบุชั้นวาง ปล่อยให้ตัวเข้ารหัสเลือกชุดโค้ดและคำนวณโมดูโล 103 จากนั้นรักษาโซนเงียบที่สร้างขึ้น ToolAcre ดำเนินการลำดับนั้นในเครื่องและส่งออกแถบผลลัพธ์เป็น SVG หรือ PNG

เก็บแหล่งที่มาของความจริงของมนุษย์ไว้ข้างไฟล์ที่สร้างขึ้น: ตัวระบุตามตัวอักษร เจ้าของไฟล์ และผลการสแกนทดสอบ หากการพิมพ์ในภายหลังล้มเหลว ให้สร้างใหม่จากค่านั้นแทนที่จะติดตามแถบด้วยตา ตัวสร้างเบราว์เซอร์จะลบโอกาสในการตรวจสอบผลรวมด้วยตนเองหนึ่งรายการ ขณะเดียวกันก็รักษาความจำเป็นในการปฏิบัติงานในการตรวจสอบโซนเงียบ คุณภาพการพิมพ์ และการค้นหาแบบไบต์ต่อไบต์เทียบกับระบบสินค้าคงคลัง