איבדתי אחר צהריים פעם אחת לדמות בודדת.A user's שם הכיל אות מודגשת, זה נראה בסדר במסד הנתונים, נשבר בייצוא PDF, והופיע כזוג סימני שאלה ביומן התיקון היה טריוויאלי פעם יכולתי לראות את נקודת הקוד בפועל מאחורי הגליף, אבל להגיע לשם פירושו שלושה כלים שונים והרבה פזילה זה החיכוך שבניתי את ממיר unicode על Toolz.dev להסרה: הדבק כל טקסט וראה בדיוק ממה הוא עשוי, בכל סימון שהעבודה שלפניך רוצה, ופענח כל אחד מהסימונים האלה בחזרה לטקסט קריא. זהו המדריך אליו ולקידוד התווים שהוא חושף.
TL;DR: לכל תו יש נקודת קוד Unicode, מספר שנכתב כמו U+0041 עבור A. The Toolz ממיר unicode הופך טקסט לנקודת קוד זו בתוספת ישויות עשרוניות, hex, HTML (A ו-A), JavaScript בורח (A), ו-CSS בורח (\41), ומפענח כל אחד מהם בחזרה לטקסט. הוא מטפל באימוג'י ובתווים אסטרליים אחרים לפי נקודת קוד אמיתית כך שהם מסתובבים בצורה נכונה, מציג טבלה לכל תו עם UTF-8 בתים, ופועל לחלוטין בצד הלקוח כך שהטקסט שלך לעולם לא עוזב את הדפדפן.
מהו ממיר Unicode?
ממיר Unicode מתרגם בין הטקסט שאתה קורא לבין המספרים שמחשב מאחסן עבורו כל תו, מאות לטינית פשוטה לאידיאוגרף סיני ועד אימוג'י, מוקצה נקודת קוד על ידי תקן Unicode, ונקודת הקוד הזו נכתבת בדרך כלל בצורה U+ ואחריה ארבע עד שש ספרות הקסדצימליות: U+0041 עבור אות גדולה A, U+00E9 עבור é, U+4E16 עבור the, U+1F30D עבור אימוג'י כדור הארץ הממיר קורא כל מה שאתה מקליד ומציג את נקודת הקוד מאחורי כל תו, ואז מאפשר לך לבטא את אותה נקודת קוד בכל אחד מהסימונים ששפות ופורמטים שונים מצפים להם.
הסיבה שלנקודת קוד בודדת יש כל כך הרבה צורות כתובות היא שלהקשרים שונים יש כללי בריחה שונים מסמך HTML משתמש בהפניות תווים כמו A בעשרוני או A בהקסדצימלי.מחרוזת JavaScript משתמשת A, או \u{1F30D} לתווים מעבר לטווח הבסיסי ערך CSS משתמש \41 עם רווח נגרר מפרט, דוח באג או תרשים Unicode משתמש בטופס U+ כולם מצביעים על אותו תו; הם פשוט לובשים בגדים שונים בהתאם למקום מגוריהם הכלי מייצר את כולם מקלט אחד והופך כל אחד מהם, כך שלעולם לא תצטרך לזכור איזה תחביר קובץ נתון רוצה או להקליד מחדש תו מסובך ביד.
מהי נקודת קוד Unicode, ובמה היא שונה מ-UTF-8?
זוהי ההבחנה שמנקה את רוב בלבול הקידוד, ולכן כדאי לדייק נקודת קוד היא מספר מופשט המזהה תו. זה לא אומר כלום על איך המספר הזה מאוחסן בזיכרון או נשלח דרך חוט. UTF-8 היא דרך אחת ספציפית לקידוד נקודת קוד כרצף של בתים, המוגדר ב RFC 3629. השניים קשורים אבל לא אותו דבר, וערבוב ביניהם הוא השורש של הרבה " למה הטקסט שלי משובש" באגים.
קח é, נקודת קוד U+00E9. כנקודת קוד זהו מספר יחיד, 233 בעשרוני. ב-UTF-8 הוא מאוחסן כשני בתים, C3 A9. ב-UTF-16 מדובר ביחידה אחת של 16 סיביות התו הוא דבר אחד; ייצוג הבתים שלו תלוי בקידוד הטבלה לכל תו בממיר מציגה גם את נקודת הקוד וגם את הבתים של UTF-8 זה לצד זה, כך שכאשר אתה רואה שם שמתפקד כ é במקום é, אתה יכול לזהות מיד את הסימפטום הקלאסי: UTF-8 בתים נקראים כאילו היו קידוד של בייט בודד כמו Latin-1. ראיית הבתים היא לרוב הדרך המהירה ביותר לאבחן אי התאמה של קידוד.
הנה מפה קטנה של תו אחד על פני הסימונים שהכלי מייצר.
| סימון | ערך עבור é (U+00E9) |
|---|---|
| נקודת קוד | U+00E9 |
| עשרוני | 233 |
| Hex | 0xE9 |
| ישות עשרונית HTML | é |
| ישות hex HTML | é |
| בריחה של JavaScript | é |
| בריחה CSS | \E9 |
| UTF-8 בתים | C3 A9 |
כיצד אוכל להמיר טקסט ל-Unicode?
בחר קידוד, בחר את הסימון הרצוי והקלד או הדבק את הטקסט שלך. ה ממיר unicode מציג את הפלט המקודד באופן מיידי וממלא טבלה לכל תו עם נקודת הקוד, הערך העשרוני, ישות ה-HTML ו-UTF-8 בתים עבור כל גליף. העתק את הפלט ושחרר אותו ל-HTML, גיליון הסגנונות, הסקריפט או המסמך שלך.
ארבעת השלבים מהירים ראשית, בחר Encode כדי לעבור מטקסט לסימון, או Decode כדי ללכת לכיוון השני שנית, בחר את הפורמט: code point, decimal, hex, HTML entity, JavaScript escape, או CSS escape, ולפענוח יש מצב אוטומטי שמזהה את הטפסים הנפוצים עבורך שלישית, הזן את הטקסט שלך וצפה בו ממיר רביעית, העתק את התוצאה אין העלאה ואין חשבון.
המרה לישויות HTML היא אחד השימושים הנפוצים ביותר, והיא חופפת לייעודי ישויות html כלי, המתמקד בישויות עם שם כמו & ו ©. ה מדריך ישויות HTML מכסה כאשר ישות בשם היא הבחירה הנכונה וכאשר אחד מספרי הוא. ממיר זה משלים אותו בכך שהוא נותן לך את תצוגת נקודת הקוד המספרי של כל תו, בשם או לא.
האם הוא מטפל באימוג'י בצורה נכונה?
כן, וכאן הרבה ממירים פשוטים יותר מייצרים בשקט פלט שבור תווים מעל U+FFFF חיים במה שיוניקוד מכנה המישורים המשלימים, ו-JavaScript מאחסן כל אחד מהם באופן פנימי כשתי יחידות קוד של 16 סיביות הנקראות זוג פונדקאים אם ממיר הולך בתמימות על מחרוזת יחידת קוד אחת בכל פעם, הוא מפצל אימוג'י לשני חצאים ופולט שני בריחות חסרות משמעות שלעולם לא ירכיבו מחדש לדמות המקורית.
כלי זה חוזר על ידי נקודת קוד אמיתית, כך שאימוג'י כמו כדור הארץ (U+1F30D) מטופל כתו אחד לכל אורכו.Code it and you get a single clean value: \u{1F30D} בטופס ES6 JavaScript, 🌍 כישות HTML, U+1F30D כנקודת קוד.Decode any of those and the original emoji comes back whole.When decoding older-style JavaScript escripts that were written as surrogate pairs, 🌍, הכלי משלב את החצאים בצורה נכונה במקום להשאיר אותך עם שתי יחידות קוד שבורות. סיבוב אימוג'י דרך הממיר מחזיר לך בדיוק את מה שהתחלת איתו, שהוא מבחן הבסיס שכלי Unicode צריך לעבור ורבים נכשלים.
כיצד אוכל לפענח בריחות Unicode חזרה לטקסט?
עבור לפענח, הדבק את המחרוזת המקודדת ובחר את הפורמט התואם או השאר אותו ב-auto. מצב אוטומטי מזהה סימון U+, \u ו \u{} JavaScript בורח, ו &# ו &#x ישויות HTML באותו קלט, כך שהדבקה מעורבת מיומן או קובץ תצורה עדיין מפענחת. אם אתה יודע את הפורמט המדויק, בחירה ישירה בו היא האפשרות האמינה ביותר, במיוחד עבור hex עשרוני או רגיל שבו מספרים חשופים יכולים להיות מעורפלים אחרת.
פענוח הוא חצי מהעבודה שאליה אתה מגיע כשאתה בקצה המקבל של טקסט מקודד: מטען JSON מלא \u escapes, תצוגת מקור HTML רצופת ישויות מספריות, עקבות מחסנית שרשמה מחרוזת בצורת בריחה במקום לפענח ידנית תו אחר תו, אתה מדביק את כל העניין וקורא את הטקסט הפשוט בחזרה הממיר משחזר את התווים המקוריים ו, כפי שצוין לעיל, מצטרף מחדש בצורה נכונה לכל צמדי פונדקאים שהוא נתקל בו כדי שתווים אסטרליים ישרדו את הטיול.
זה משתלב היטב עם כלי הפענוח האחרים באתר. טקסט מקודד באחוזים בכתובת URL הוא התפקיד של מקודד url, ובינארי מקודד base64 מטופל על ידי ממיר base64. הם קידודים שונים עבור הובלות שונות, ולדעת על איזה מהם אתה מסתכל זה חצי מהקרב. ה ערכת כלים למפתחי אינטרנט המדריך מפרט כיצד כלי הקידוד הללו משתלבים זה בזה בעבודה היומיומית.
מתי באמת אצטרך בריחות CSS או JavaScript?
לעתים קרובות יותר ממה שהיית מצפה, ובדרך כלל ברגע המדויק משהו לא עיבוד. ב-CSS, ה content נכס של א ::before או ::after פסאודו-אלמנט לא יכול להכיל תווים שרירותיים ישירות בכל מצב, אז אתה בורח מהם: חץ שמצביע ימינה הופך content: "\2192". כללי הבריחה של CSS, כולל החלל הנגרר שמסיים בריחת משושה, מוגדרים ב- מודול תחביר CSS רמה 3, והממיר פולט בדיוק את הצורה הזו כדי שתוכל להדביק אותו ישר לתוך גיליון סגנונות.
ב-JavaScript, escapes מאפשרים לך להכניס תו לקוד המקור מבלי להיות תלוי בקובץ 's קידוד או בעורך שלך עיבוד נכון. © הוא חד משמעי שבו סמל זכויות יוצרים מילולי עלול להתבלבל על ידי כלי בצנרת. עבור תווים מעבר למישור הבסיסי, ה-ES6 \u{...} הצורה נקייה יותר מזוג פונדקאים, והממיר משתמש בה עבור תווים אסטרליים תוך שמירה על ארבע הספרות \uXXXX טופס לתווים שמתאימים בו.HTML numeric character references, the &#...; טפסים, משרתים את אותה מטרה בסימון ונשלטים על ידי תקן WHATWG HTML. יצירת כל אלה מקלט אחד פירושה שאתה מפסיק לנחש את התחביר ומעתיק את הבריחה הנכונה בכל פעם.
באיזה סימון עלי להשתמש ומתי?
עם שבעה פורמטי פלט המוצעים, השאלה המעשית היא איזו משימה נתונה רוצה, והתשובה מוכתבת כמעט תמיד לפי המקום שבו הדמות הולכת לחיות ולא לפי העדפה. אם אתה כותב HTML וצריך תו שמביך להקליד או שאחרת יתפרש כסימון, השתמש בישות HTML: — או התאום המשושה שלו —. אם התו נכנס למחרוזת JavaScript מילולית, השתמש ב- \u לברוח, ולהגיע אל ה \u{...} טופס כאשר התו הוא מעבר למישור הבסיסי.If הוא שייך לערך CSS, במיוחד ה content מאפיין, השתמש ב-CSS escape עם הרווח הנגרר שלו. אם אתה כותב מפרט, הערה או דוח באג שבו אתה רוצה לתת שם לתו באופן חד משמעי מבלי לעבד אותו, טופס נקודת הקוד U+ הוא המוסכמה שכולם מזהים.
הפלטים העשרוניים והמשושים הם אלה שאנשים מגיעים אליהם בתדירות נמוכה יותר, אבל הם חשובים כשאתה מדבר עם מערכת שמדברת במספרים גולמיים: עמודת מסד נתונים המאחסנת נקודות קוד, פרוטוקול שמשדר תווים כמספרים שלמים, חיפוש מול Unicode קובץ נתונים היכולת להעיף תו לערך העשרוני או ההקסדצימלי החשוף שלו, וחוזר חלילה, שומרת המרת בסיס ידנית בדיוק ברגע שאתה כבר עמוק בהפעלת ניפוי באגים.
יש כלל אחד שחוצה את כולם: כל סימון שאתה פולט, פענח אותו בחזרה ואשר שאתה מקבל את התו המקורי לפני שאתה סומך עליו. סיבוב סיבוב הוא בדיקת הנכונות הזולה ביותר שיש, והוא תופס את שתי הטעויות הקלאסיות באופן מיידי, זוג פונדקאים מעוות לדמות אסטרלית ו-off-by-one בספרות המשושה. הממיר גורם לזה לבדוק משחה בודדת בכיוון ההפוך. אם מעורב ערך רגיש לאבטחה, אותה דיסציפלינה חלה על קידוד האחוזים המטופל על ידי מקודד url, שבו בריחה שגויה יכולה לשנות את מה ששרת מקבל בפועל.
האם בטוח להמיר טקסט רגיש כאן?
כן כל המרה מתרחשת ב-JavaScript בתוך הדפדפן שלך שום דבר שאתה מדביק לא נשלח לשרת, שום דבר לא נרשם, והכלי ממשיך לעבוד כשהחיבור שלך כבוי לאחר טעינת הדף. אתה יכול לבדוק מחרוזות פרטיות, נתוני משתמש או תוכן של קובץ פנימי מבלי שאף אחד מהם יעזוב את המחשב שלך.
המאפיין הזה אינו מקרי, זו הסיבה להעדיף כלי בצד הלקוח לעבודה מסוג זה הטקסט שאתה מריץ דרך ממיר Unicode הוא לרוב בדיוק הטקסט שהכי פחות תרצה למסור לצד שלישי: משתמש אמיתי's שם שאתה מאתר באגים, קטע ממערך נתונים פרטי, מחרוזת מתכונה שלא פורסמה ממיר בצד השרת, אמין ככל שיהיה, הוא צד אחד נוסף בשרשרת ביצוע העבודה בדפדפן מסיר את השאלה הנימוק הרחב יותר נמצא ב כלים מקוונים לפרטיות נתונים מדריך, והוא חל על פני כל כלי קידוד ב-Toolz.dev, מזה ועד ל- מדריך קידוד base64 ומעבר.
שאלות נפוצות
כיצד אוכל להמיר טקסט ל-Unicode?
הדבק את הטקסט שלך באזור הקלט עם Encode שנבחר ובחר פורמט כגון נקודת קוד או ישות HTML הכלי מציג את ייצוג Unicode של כל תו באופן מיידי, הכל בתוך הדפדפן שלך.
מהי נקודת קוד Unicode?
נקודת קוד היא המספר ש-Unicode מקצה לתו, שנכתב כמו U+0041 עבור A. הוא מזהה את התו ללא תלות באופן האחסון שלו, וזו הסיבה שאותה נקודת קוד יכולה להופיע כישות HTML, בריחה של JavaScript או בריחה של CSS.
מה ההבדל בין נקודת קוד ל-UTF-8?
נקודת קוד היא המספר המופשט עבור תו; UTF-8 היא דרך אחת לאחסון המספר הזה בתור בתים אחד עד ארבעה. הטבלה לכל תו מציגה את שניהם, כך שתוכל לראות ש-U+00E9 עבור é מאוחסן כשני בתים UTF-8 C3 A9.
האם הוא מטפל באימוג'י בצורה נכונה?
כן אימוג'י חיים מחוץ לטווח הבסיסי ומאוחסנים כזוגות פונדקאים ב-JavaScript הממיר קורא וכותב אותם לפי נקודת קוד אמיתית, אז אימוג'י כמו כדור הארץ (U+1F30D) הלוך ושוב בלי להתפצל לשני חצאים שבורים.
כיצד אוכל לפענח בריחות Unicode חזרה לטקסט?
עבור לפענח, הדבק את המחרוזת המקודדת ובחר את הפורמט התואם או השתמש אוטומטית כדי לזהות אותו הכלי משחזר את התווים המקוריים, ומשלב נכון את כל צמדי הפונדקאיות שהוא מוצא.
מתי אצטרך בריחה CSS?
בריחות CSS מאפשרות לך להכניס תו לערך גיליון סגנונות כגון מאפיין התוכן הכלי מוציא ערכים כמו \41 עם הרווח הנגרר שבו משתמש CSS כדי לסיים בריחת hex, מוכן להדבקה במאפיין תוכן.
האם הוא יכול להמיר את אותו תו למספר פורמטים בו זמנית?
כן. בחירת פורמט מגדירה את הפלט הראשי, והטבלה לכל תו מציגה תמיד את נקודת הקוד, הערך העשרוני, ישות ה-HTML ו-UTF-8 בתים עבור כל תו, כך שתוכל לקרוא מספר סימונים במבט חטוף.
האם בטוח להמיר טקסט רגיש כאן?
כן כל ההמרה מתרחשת ב-JavaScript בתוך הדפדפן שלך שום דבר לא נשלח לשרת, שום דבר לא נרשם, והכלי עובד כשהחיבור שלך מושבת.
ה ממיר unicode הוא חינמי, פועל כולו בדפדפן שלך, ואינו זקוק להרשמה. מקודד תו לכל סימון, פענח אותו בחזרה וקרא את הבתים הגולמיים מאחורי כל גליף. חקור אותו לצד ה טבלת ascii ושאר כלי הקידוד על Toolz.dev.



