מקודד כתובת URL / מפענח
יש לקודד ולפענח כתובות URL ורכיבי URI באופן מיידי בדפדפן שלך. חינם, פרטי וללא צורך בהעלאה.
יש לקודד ולפענח כתובות URL ורכיבי URI באופן מיידי בדפדפן שלך. חינם, פרטי וללא צורך בהעלאה.
קידוד כתובות אתרים (רשמית קידוד אחוזים, המוגדר ב-RFC 3986) מתרגם תווים בעלי משמעות מיוחדת בכתובות URL - רווחים, לוכסנים, סימני אמפרסנד, סימני גיבוב - לצורה בטוחה באמצעות סימני אחוזים ואחריהם ספרות hex. תו הרווח הופך ל-%20 (או + בהקשרים מקודדים בצורה), האמפרסנד הופך ל-%26 וכן הלאה. ללא קידוד זה, תווים מיוחדים יתפרשו כתחביר כתובת אתר ולא כנתונים מילוליים, שבירת כתובת ה-URL או גרימת התנהגות לא מכוונת.
קיימים שני קידודים קשורים אך ברורים. הקידוד הסטנדרטי של רכיב כתובת האתר משתמש ב-%-escapes עבור כל מה שמחוץ לקבוצת התווים הבלתי שמורה: A-Z, a-z, 0-9, מקף, קו תחתון, נקודה, טילדה. הגרסה המקודדת בטופס (application/x-www-form-urlencoded) מתייחסת בנוסף לרווחים כסימני פלוס ומשתמשת בכללים שונים עבור כמה תווים אחרים. ה-encodeURIConponent של JavaScript משתמש בקידוד הרכיבים הקפדני; encodeURI משתמש בצורה מתירנית יותר השומרת על תווי מבנה כתובת האתר.
כלי זה מציע גם קידוד וגם פענוח. מצב קידוד עוטף כל תו שדורש אסקייפ בפורמט %HH; מצב פענוח הופך את השינוי. שניהם פועלים לחלוטין בדפדפן שלך באמצעות פונקציות מובנות של כתובת URL של JavaScript, כך שלא נשלחים נתונים לשום מקום.
בכל פעם שנתונים כלולים ב-URL - פרמטרים של מחרוזת שאילתה, מקטעי נתיב המכילים קלט משתמש, יעדי הפניה מחדש - נדרש קידוד מתאים. כשלון בקידוד מייצר כתובות URL שנשברות כאשר מופיעים תווים מיוחדים, דולפות גבולות פרמטרים למחרוזות שאילתות (הפיכת &x=1 לפרמטר נפרד), או נחסמות על ידי שרתי אינטרנט כבקשות שגויות.
פענוח הוא הפוך: חילוץ הנתונים המקוריים מכתובת אתר מקודדת. סרגלי הכתובת של הדפדפן מציגים לעתים קרובות כתובות אתרים בצורה מקודדת; פענוח חושף את מה שבאמת נועד. רישום, ניפוי באגים וניתוח אבטחה נהנים כולם מכתובות URL מפוענחות המציגות את הפרמטרים והנתיבים המקוריים.
הדבק מחרוזת, בחר כיוון.
encodeURIConponent מקודד כל תו מחוץ לקבוצה הבלתי שמורה [A-Za-z0-9-_.~]. רווחים הופכים ל-%20, סימני פלוס הופכים ל-%2B, סימני שווה הופכים ל-%3D, וכן הלאה. תווים מחוץ ל-ASCII מקודדים תחילה ב-UTF-8 ולאחר מכן כל בייט עובר %-escape.
encodeURI מתירני יותר ומיועד לכתובות URL מלאות ולא לרכיבים. זה לא בורח /, ?, &, =, #, ועוד כמה אחרים כי לתווים אלה יש משמעות תחביר של כתובת URL. להטמעת נתוני משתמש בכתובת URL, encodeURIConponent היא כמעט תמיד הבחירה הנכונה.
decodeURIComponent הופך %-escapes, ומאמת שכל escape בנוי היטב ושהבתים המתקבלים יוצרים UTF-8 חוקי. קלט שגוי זורק שגיאה במקום לייצר זבל.