קידוד / פענוח
הדביקו מחרוזת מוזרה. הכלי ינחש מה היא ויפענח אותה. או כתבו טקסט רגיל וראו אותו בכל הקידודים בבת אחת.
רץ בדפדפן שלכם. שום דבר שתדביקו או תגררו לכאן לא מועלה לשום מקום.
- קלט
- טקסט
Base64 זו תחפושת, לא מנעול. ו-₪ זה לא &.
פוענח מ-Base64.
פירוק לתווים
| תו | נקודת קוד | סוג | UTF-8 | UTF-16 |
|---|
איך משתמשים
- הדביקו את המחרוזת המוזרה בתיבה. במצב אוטומטי הכלי מנחש את הפורמט, מפענח אותו וממשיך הלאה אם התוצאה עדיין מקודדת.
- בדקו את התגית מעל התוצאה. אם הניחוש שגוי, בחרו אחת האפשרויות בשורה אפשר לקרוא גם כ־, או עברו לפענוח ובחרו פורמט בעצמכם.
- כדי לקודד, עברו לקידוד והשאירו את הפורמט על הכול. הטקסט יופיע בבת אחת כ-Base64, URL, hex, ישויות וכל השאר.
- העתיקו את התוצאה, או לחצו לשדה הקלט כדי להפוך אותה בחזרה ולוודא שהכול מתיישב.
- פתחו את פירוק לתווים כדי לראות נקודות קוד ובתים. שם נתפסים תווים בלתי נראים ואותיות שמתחזות לאחרות.
מה זה עושה
מפענח Base64, URL וישויות HTML, וגם ממיר hex ו-Unicode, בתיבה אחת. הכול עובר דרך UTF-8, כך שעברית, קירילית ואימוג׳י שורדים את הדרך: ₪ הוא שלושה בתים, e2 82 aa, ו-😀 הוא ארבעה.
הזיהוי האוטומטי נותן ציון לכל פורמט לפי צורת הקלט ולפי השאלה אם הפענוח נותן טקסט קריא. SGVsbG8%3D הוא Base64 בתוך קידוד URL, אז הוא מפוענח פעמיים ושני השלבים מוצגים. מחרוזות קצרות הן דו-משמעיות: cafe היא גם מילה וגם hex תקין, ולכן כאן הכלי לא מנחש. בחרו פורמט בעצמכם.
כשהבתים אינם UTF-8 תקין, תקבלו hex dump והסבר במקום מסך מלא �. מערכות ישנות עדיין שולחות Windows-1255 ו-Windows-1251; החליפו את תצוגת הבתים כדי לקרוא אותן. נתקלתי באחת כזאת באינטגרציה עם בנק שכותב קוד כמו ב-1975.
JWT מפוענח אבל לא מאומת: רואים את ה-header וה-payload, והחתימה רק מוצגת. ישויות HTML מכסות את סט HTML 4 ואת השמות הנפוצים מ-HTML5. ברשימה המלאה יש יותר מ-2,000 שמות, ורובם לא מופיעים בטבע.
שאלות
האם Base64 זו הצפנה?
לא. Base64 הוא קידוד: כל אחד יכול לפענח אותו, בלי מפתח. הוא קיים כדי להעביר בתים דרך מקומות שמקבלים רק טקסט, כמו JSON, מייל או URL. Livewire, למשל, שולח את מצב הקומפוננטה ב-Base64, ולכן צריך לבדוק אותו בשרת כמו כל קלט של משתמש.
למה ה-Base64 שלי מתפענח לג׳יבריש?
בדרך כלל כי בפנים אין טקסט. תמונות, gzip, PDF ונתונים מוצפנים הם פשוט בתים, והכלי אומר את זה כשהוא מזהה את סוג הקובץ. סיבות נוספות: המחרוזת נחתכה או קיבלה תווים מיותרים בהעתקה, זה Base64URL (- ו-_) שכלי אחר קרא כ-Base64 רגיל, או שהטקסט בפנים היה בקידוד ישן כמו Windows-1255.
מה ההבדל בין encodeURI ל-encodeURIComponent?
encodeURI מקודד URL שלם ומשאיר את : / ? # & = כמו שהם, ו-encodeURIComponent מקודד חלק אחד, כמו ערך של פרמטר, ומקודד גם אותם. לכל דבר שנכנס לתוך URL השתמשו בשני. פורמט URL כאן הוא encodeURIComponent; URL form גם הופך רווחים ל-+, כמו שטפסי HTML שולחים.
למה באתר מופיע ₪ במקום &?
זו בעיה של פונט, לא של קידוד. אם הבתים נכונים (& הוא 26, ₪ הוא e2 82 aa) אבל על המסך מופיע סימן אחר, פונט רשת מצייר אותו. בדקו עם „פירוק לתווים” וקראו איך תיקנתי בדיוק את זה.
מה זה Base64URL?
זה Base64 עם שני תווים שהוחלפו, כדי שהתוצאה תהיה בטוחה בכתובות URL ובשמות קבצים: - במקום + ו-_ במקום /, ובדרך כלל בלי ה-= בסוף. JWT, הרבה טוקנים של API ו-WebAuthn משתמשים בו. מפענח Base64 קפדני נתקע עליו; הכלי הזה קורא את שניהם, והתג מעל התוצאה אומר באיזה מהם מדובר.