איך להשתמש בו
- בחרו “טקסט → בתים” כדי לקודד או “בתים → טקסט” כדי לפענח.
- בחרו פורמט בתים: בינארי, הקסדצימלי, עשרוני או אוקטלי.
- הקלידו או הדביקו את הקלט. התוצאה ומספר הבתים מתעדכנים תוך כדי הקלדה.
- העתיקו את התוצאה, או החליפו אותה עם הקלט כדי לבדוק את ההמרה הלוך ושוב.
איך זה עובד
מחשבים מאחסנים טקסט כבתים. הכלי הזה משתמש ב-UTF-8, הקידוד שנמצא בשימוש כמעט בכל אתר ובכל מערכת מודרנית. ב-UTF-8, 128 תווי ה-ASCII (אותיות אנגליות, ספרות וסימני פיסוק בסיסיים) תופסים בייט אחד כל אחד, לכן H הוא 01001000 בבינארי ו-48 בהקסדצימלי. כל שאר התווים תופסים שניים עד ארבעה בייטים: é הוא 2 בייטים (C3 A9), € ו-☕ הם 3 בייטים, ורוב האימוג'י הם 4 בייטים. לכן מספר הבייטים יכול להיות גדול ממספר התווים, ולכן תו אחד יכול להפוך לכמה קבוצות של 8 סיביות.
כל בייט אפשר לכתוב בארבע דרכים נפוצות: בינארי בן 8 ספרות (00000000–11111111), הקסדצימלי בן 2 ספרות (00–FF), עשרוני (0–255) או אוקטלי בן 3 ספרות (000–377). כאשר בתים נכתבים ללא מפרידים, ערכי בינארי, הקסדצימלי ואוקטלי מרופדים לרוחב קבוע, וערכים עשרוניים מרופדים ל-3 ספרות כדי שניתן יהיה לפצל אותם שוב באופן חד-משמעי.
הפענוח סובלני לעיצוב: רווחים, ירידות שורה, פסיקים ונקודה-פסיק בין בתים אינם נלקחים בחשבון, וכך גם התחיליות 0x ו-0b ורצפי \x. כל קבוצה נבדקת; ספרה שאינה חוקית בפורמט שנבחר או ערך גבוה מ-255 מדווחים עם מיקום הבית. לאחר הפענוח נבדקת תקינות ה-UTF-8 של הבתים, ואם הם אינם טקסט תוצג הודעה.
תווים המורכבים מכמה נקודות קוד, כמו דגלים או אימוג'י עם גווני עור, נספרים כאן כתווים מרובים, כי כל נקודת קוד מקודדת בנפרד.
דוגמאות
ה-“Hi” הקלאסי בבינארי
H הוא ערך ASCII 72 ו-i הוא 105, כך ש-“Hi” הופך ל-01001000 01101001 בבינארי, 48 69 בהקסדצימלי ו-72 105 בעשרוני: 2 תווים, 2 בייטים, 16 סיביות.
מדוע “Café” הוא 5 בייטים
C, a ו-f הם בייט אחד כל אחד, אבל é הוא שני בייטים ב-UTF-8: 11000011 10101001 (C3 A9). למילה יש 4 תווים אבל היא תופסת 5 בייטים, וזה חשוב למגבלות עמודות במסדי נתונים ולשדות פרוטוקול הנמדדים בבייטים.
קריאת פלט הקסדצימלי
מנפה שגיאות מציג 48 65 6c 6c 6f 2c 20 e4 b8 96 e7 95 8c. הדביקו אותו עם “בייטים ← טקסט” ובהקסדצימלי כדי לקבל “Hello, 世界”; כל תו סיני הוא 3 בייטים.
שאלות נפוצות
מדוע תו אחד הופך ל-16, 24 או 32 סיביות?
ב-UTF-8 רק תווי ASCII נכנסים לבייט אחד (8 סיביות). אותיות עם סימני הטעמה ורוב האלפביתים האחרים משתמשים ב-2 בייטים, סינית, יפנית, קוריאנית וסמלים רבים משתמשים ב-3, ואימוג'י משתמשים ב-4. כל בייט מוצג כקבוצה משלו.
האם זה ASCII או UTF-8?
UTF-8. עבור טקסט באנגלית פשוטה התוצאה זהה ל-ASCII, כי UTF-8 תוכנן להיות תואם אליו. תווים מעבר ל-ASCII לא היו יכולים להיות מיוצגים ב-ASCII בלבד.
מדוע אני מקבל שגיאה בעת פענוח בינארי?
כל בית חייב להכיל לכל היותר 8 ספרות בינאריות ואת הספרות 0 ו-1 בלבד. ללא רווחים, מספר הספרות הכולל חייב להיות כפולה של 8. הודעת השגיאה מציינת את הבית שלא ניתן היה לקרוא.
מה המשמעות של “UTF-8 לא תקין”?
הבתים אינם יוצרים רצפי UTF-8 תקינים, למשל בית בודד מעל 127 או רצף שנקטע באמצע. ייתכן שהנתונים מגיעים מקובץ בקידוד אחר כמו Windows-1252, או שהם כלל אינם טקסט.
פרטיות
ההמרה מתבצעת בדפדפן שלך באמצעות מקודד ומפענח ה-UTF-8 המובנים בו. הטקסט שלך אינו מועלה, אינו נשמר ואינו נכלל בניתוח נתונים.