ממיר בסיסים דו-כיווני: עשרוני, Hex, Base32, Base64
המירו מספרים בין עשרוני ל-Base16 (הקסדצימלי), Base32 ו-Base64 בשני הכיוונים, עם זיהוי אוטומטי של הבסיס. קדדו מספר עשרוני או פענחו ערך מקודד בחזרה למספר עשרוני.
ממיר בסיסים דו-כיווני
המר בין מספרים עשרוניים וקידודי בסיס סטנדרטיים (Base16/Hex, Base32, Base64). הזן ערך בכל שדה כדי להמיר.
הזן מספר שלם חיובי (מקסימום: 9,007,199,254,740,991)
הזן ערך מקודד Base16, Base32, או Base64
על קידודי בסיס
תיעוד
ממיר בסיסים דו-כיווני: עשרוני ↔ Base16, Base32, Base64
ממיר בסיסים הופך מספר מדרך כתיבה אחת לאחרת. מחשבים, כתובות URL, ותבניות נתונים לרוב אינם שומרים מספר עשרוני פשוט — הם אורזים אותו בקידוד קומפקטי או בטוח יותר להעברה, כגון Base16 (הקסדצימלי), Base32, או Base64. כלי זה ממיר בשני הכיוונים: הקלידו מספר עשרוני וראו את הצורה שלו ב-Base16/Base32/Base64, או הדביקו ערך מקודד וקבלו בחזרה את הערך העשרוני. הכלי גם מזהה באיזה בסיס נמצא הערך המקודד.
מה המשמעות של "בסיס"
לכל מערכת ספרות מיקומית יש בסיס (או רדיקס) — מספר הסימנים הנפרדים שבהם היא משתמשת לספרה בודדת. עשרוני הוא בסיס 10 (0–9). הקידודים כאן מחליפים מערכת סימנים גדולה יותר תמורת מחרוזת קצרה יותר:
- Base16 (הקסדצימלי) — הסימנים
0-9ו-A-F. כל תו נושא 4 ביטים. נפוץ מאוד עבור קודי צבע (#FF0000), כתובות זיכרון, וגיבובים (hashes). - Base32 — הסימנים
A-Zו-2-7(לפי RFC 4648). כל תו נושא 5 ביטים. אינו תלוי רישיות (case-insensitive) ונקי מתווים הניתנים להתבלבלות בקלות, כך שהוא שורד הקראה בקול או הקלדה ידנית. - Base64 — הסימנים
A-Z,a-z,0-9,+, ו-/(לפי RFC 4648). כל תו נושא 6 ביטים. הדרך הסטנדרטית להעביר נתונים בינאריים דרך ערוצי טקסט בלבד, כגון דוא"ל או שדה JSON.
ככל שהבסיס גבוה יותר, כך פחות תווים נדרשים לאותו מספר — אך גדול יותר האלפבית שיש לזכור.
איך להשתמש בממיר
לכלי יש שני שדות, והוא פועל בכל שדה שבו מקלידים:
- עשרוני → מקודד. הזינו מספר שלם חיובי בשדה העשרוני. הכלי מציג את הערך ב-Base16, Base32, ו-Base64 בו-זמנית.
- מקודד → עשרוני. הדביקו ערך Base16, Base32, או Base64 בשדה המקודד. הכלי מזהה את הבסיס, מוודא את תקינות התווים, ומחזיר את המספר העשרוני.
טווח ואימות
הערכים מוגבלים למספר השלם הבטוח המרבי (maximum safe integer) של JavaScript, 9007199254740991 (שהוא 2^53 − 1). מעבר לערך זה, מספרים שלמים אינם ניתנים עוד לייצוג מדויק, כך שממיר שהיה ממשיך לפעול היה מחזיר בשקט ספרות שגויות — הכלי מדווח על שגיאת חריגה מהטווח במקום לנחש. קלט עשרוני חייב להיות מספר שלם לא-שלילי; קלט מקודד חייב להשתמש רק בתווים התקפים לבסיס שלו, אחרת הכלי מסמן זאת במקום לפענח מידע פגום.
דוגמאות מחושבות
- 255 בעשרוני. Base16 =
FF, מפני ש-255 = 15×16 + 15 ושתי הספרות הןF. זו הסיבה ש-#FFFFFFהוא לבן: שלושה בייטים, כל אחד בערכו המרבי. - 1000 בעשרוני. Base16 =
3E8(3×256 + 14×16 + 8 = 1000). - פענוח
FF. מזוהה כ-Base16, מפוענח ל-255. - בייט בערכו המרבי, 8 ביטים, הוא
FFבהקסדצימלי — תו הקסדצימלי אחד לכל 4 ביטים, כלומר שני תווים לכל בייט. אותו בייט דורש מחרוזת ארוכה יותר ב-Base32 וקבוצה מרופדת ב-Base64, ולכן ההקסדצימלי נשאר הבחירה הקריאה ביותר לערכים קצרים כגון צבעים וכתובות.
היכן משתמשים בכל קידוד
- Base16 — צבעי CSS/HTML, כתובות MAC ו-IPv6, גיבובים (hashes) קריפטוגרפיים וסכומי ביקורת, הצגות הקסדצימליות (hex dumps) של קבצים בינאריים.
- Base32 — מפתחות סוד של TOTP/2FA, מערכות מסוימות לשיתוף קבצים ומבוססות DNS, מזהים המוקלדים או המוקראים בקול, שבהם יש להימנע מבלבול רישיות ותווים.
- Base64 — כתובות
data:, קבצים מצורפים לדוא"ל (MIME), הטמעת תמונות או אישורים (certificates) בתוך JSON או XML, אסימוני JWT.
מכיוון שכל קידוד הוא רק ייצוג של אותו מספר בסיסי, המרה ביניהם לעולם אינה משנה את הערך — רק את מספר התווים הדרוש לכתיבתו ואת הערוצים שבהם ניתן להעביר אותו בבטחה.