מצבי קידוד

ידוע גם בשם: מצבי נתונים, מצב מספרי, מצב אלפאנומרי, מצב בתים, מצב קנג'י, Encoding modes

הגדרה

מצבי קידוד הם הדרכים שבהן קוד QR דוחס תווים לביטים. ארבעת המצבים העיקריים הם מספרי, אלפאנומרי, בתים וקנג'י, וקוד אחד יכול לעבור ביניהם.

ארבעת המצבים העיקריים

כל מצב מחליף טווח תווים בצפיפות. המצב המספרי מטפל רק בספרות אבל דוחס שלוש מהן ל-10 ביטים, ואילו מצב הבתים מטפל בכל בית אבל מוציא 8 ביטים על כל אחד.

המצב האלפאנומרי מכסה קבוצה של 45 תווים: הספרות 0–9, האותיות הגדולות A–Z, הרווח והסימנים $ % * + - . / ונקודתיים. אותיות קטנות אינן בקבוצה, ולכן כתובת כולה באותיות גדולות יכולה ליצור קוד קטן יותר מאותה כתובת באותיות קטנות.

  • מספרי: ספרות 0–9, 10 ביטים לכל 3 ספרות
  • אלפאנומרי: 45 תווים, 11 ביטים לכל 2 תווים
  • בתים: כל ערך של 8 ביטים, 8 ביטים לכל בית
  • קנג'י: תווי Shift JIS דו-בתיים, 13 ביטים לכל אחד

מחווני מצב וקטעים

כל רצף נתונים מתחיל במחוון מצב של 4 ביטים ובמספר תווים, שאורכו תלוי במצב ובגרסה. קוד יכול להכיל כמה קטעים כאלה, למשל מספרי לרצף ארוך של ספרות ובתים לכל השאר, מה שיכול להקטין את התוצאה.

מחווני 4 ביטים אחרים מסמנים תכונות ולא קבוצות תווים: ECI להצהרה על קידוד תווים, structured append לפיצול נתונים בין קודים, ו-FNC1 לפורמטים של GS1 ושל נתונים תעשייתיים אחרים. מסיים של ארבעה ביטים אפס סוגר את הנתונים.

  • מספרי 0001, אלפאנומרי 0010, בתים 0100, קנג'י 1000
  • ECI 0111, structured append 0011
  • FNC1 במיקום ראשון 0101, במיקום שני 1001
  • מסיים 0000

מצב בתים וקבוצות תווים

הפרשנות ברירת המחדל של התקן למצב בתים היא ISO-8859-1 (Latin-1), אבל רוב המחוללים היום כותבים UTF-8 כדי שאותיות עם ניקוד, כתבים אחרים ואימוג'י ישרדו. קוראים בדרך כלל מזהים UTF-8 על ידי בדיקת הבתים.

כשקבוצת התווים חייבת להיות חד-משמעית, כותרת ECI יכולה להצהיר עליה במפורש. בלעדיה, קורא עלול לעיתים לנחש לא נכון ולהציג תווים משובשים.

שאלות נפוצות

למה קוד ה-QR שלי גדול יותר עם אותיות קטנות?

אותיות קטנות אינן בקבוצה האלפאנומרית, ולכן הטקסט חייב להשתמש במצב בתים ב-8 ביטים לתו במקום 5.5. אותיות גדולות, ספרות וכמה סימנים נדחסים בצפיפות רבה יותר.

קוד QR יכול לשמור אימוג'י או טקסט שאינו לטיני?

כן, במצב בתים עם UTF-8, שרוב המחוללים והקוראים בטלפונים תומכים בו. כל תו כזה תופס כמה בתים, ולכן הקיבולת יורדת.

קוד QR אחד יכול לערבב נתונים מספריים וטקסט?

כן. אפשר לפצל את הנתונים לקטעים, כל אחד עם מצב משלו, ומקודדים טובים בוחרים את הפיצול שנותן את הקוד הקטן ביותר.

מקורות ותקנים

כל המונחים