מהו מקודד/מפענח כתובות אתרים?
מקודד/מפענח כתובות אתרים ממיר טקסט אל ומאחוז קידוד (נקרא גם קידוד כתובת URL), סכימת הבריחה המוגדרת על ידי RFC 3986 שהופכת מחרוזות שרירותיות לבטוחות להכנסת כתובת URL. תווים כמו &, =, ?, # ו/ הם בעלי משמעות מבנית בכתובות URL - אם ערך מחרוזת שאילתה מכיל "&" מילולי, השרת יחלק את הפרמטר שלך לשניים אלא אם התו הזה נמלט כ-% 26. כלי זה נותן לך את כל שלושת גרסאות הקידוד שמפתחים נתקלים בהם: encodeURIComponent עבור ערכים בודדים, encodeURI עבור כתובות URL מלאות, ואפליקציה/x-www-form-urlencoded (רווחים כ-+) עבור גופי טופס HTML.
ההבחנה בין מצבים חשובה יותר ממה שרוב ההדרכות מודים. EncodeUriComponent בורח מכל מפריד שמור, כך שזו הבחירה הנכונה עבור פרמטר שאילתה בודדת, קטע נתיב או יעד הפניה המוטמע ב-URL אחר - אך הפעלתו על כתובת URL מלאה תשלב את https:// ל-HTTPs%3A%2F%2F. EncodeURI משמרת את המפרידים (: / ? # & =) אז כתובת URL שלמה נשארת ניתנת לניווט בעוד רווחים ותווים שאינם ASCII כמו é או 日本 עדיין נמלטים לטופס המקודד ב-UTF-8 אחוז. מצב ה-form-coded תואם את מה שדפדפנים שולחים כאשר אתה שולח <form>: זהה ל-EncodeEuriComponent למעט רווחים הופכים ל-"+" במקום "%20" - מוזרות מדור קודם שעדיין מפעילה אינטגרציות של API היום.
הכל פועל 100% בצד הלקוח בדפדפן שלך באמצעות אותו encodeURIComponent מקורי, encodeURI ו decodeURIComponent פונקציות הייצור שלך JavaScript משתמש, כך תוצאות להתאים בדיוק מה הקוד שלך יפיק שום דבר שאתה להדביק - OAuth callback URLs, חתום S3 קישורים, אסימונים, מזהה הפעלה - אי פעם עוזב את המכונה שלך המפענח גם תופס קלט פגום (תועה % לא ואחריו שתי ספרות hex זורק URIError ב JavaScript) ומדווח על שגיאה ברורה במקום להיכשל בשקט.
דוגמה מעובדת מראה כיצד שלושת המצבים של מקודד ומפענח כתובת URL זה שונים על אותו טקסט. הקלד קפה וקרם ולחץ על קידוד עם רכיב encodeURIC שנבחר: הפלט הוא caf% C3%A9%20%26%20cr%C3%A8me. החלף מצב לאפליקציה/x-www-form-urlencoded וקודד שוב, והרווחים הופכים ל-+, נותנים ל-caf% C3%A9+%26+cr%C3%A8me. במצב encodeURI ה-& נשאר כפי שהוא, מכיוון ש-encodeURI מתייחס אליו כאל מפריד כתובת URL, וזו הסיבה שמצב זה מתאים לכתובת URL שלמה ולא לערך אחד. הפענוח הופך את + בחזרה לרווח.
כיצד להשתמש במקודד/מפענח URL?
הדבק את הטקסט או כתובת האתר שלך
שחרר את הערך הגולמי לאזור הקלט - ערך פרמטר שאילתה, כתובת URL מלאה עם רווחים ו-unicode, או מחרוזת מקודדת כמו a%3d1%26b%3d2 שלפת מיומני השרת ורוצה לפענח.
בחר את מצב הקידוד
בחר EncodeUriComponent עבור ערכים בודדים (פרמטרי שאילתה, מקטעי נתיב), EncodeURI עבור כתובות אתרים מלאות שבו :// ו-? חייב לשרוד, או Form-Urlencod כאשר אתה בונה גוף טופס HTML או מאתר באגים במטען פוסט עם + שלטים.
לקודד או לפענח
לחץ על קידוד כדי לקוד באחוזים את הקלט, או לפענח כדי להפוך אותו. הפענוח מטפל ברצפי %xx ובמצב צורה, ממיר + חזרה לרווחים. רצפים שגויים מייצרים שגיאה קריא במקום פלט ריק.
העתק או החלף
העתק את התוצאה ללוח שלך בלחיצה אחת, או השתמש בלחצן ההחלפה כדי להעביר את הפלט בחזרה לקלט - שימושי כאשר ערך קודד כפול (%2520) וזקוק למעבר פענוח שני.
תכונות מפתח
שלושה מצבי עולם אמיתי
encodeURIComponent, encodeURI, ו-application/x-www-form-urlencoded - שלוש הגרסאות שאתה פוגש במחרוזות שאילתות, כתובות URL מלאות וגופי טופס
קידוד JavaScript מקורי
משתמש בפונקציות הקידוד המקוריות של הדפדפן, כך שתווים ללא הזמנה של RFC 3986 (AZ az 0-9 - _ . ~) עוברים דרך רצפים ללא נגיעה ו-UTF-8 מרובי בתים מקודדים בצורה נכונה. כמו JavaScript משלך, הוא גם משאיר '() * לא נמלט, אשר RFC 3986 שומר
פענוח בטוח עם שגיאות ברורות
רצפי אחוז שגוי כמו "%" תועה בדיוק מה השתבש במקום לזרוק urierror לא מטופל
החלפת קלט ופלט
לחיצה אחת מעבירה את התוצאה חזרה לקלט - מושלם לפתיחת ערכים מקודדים כפולים שכבה אחר שכבה
Frequently Asked Questions
Related Tools
Caesar Cipher Encoder & Decoder
Encode and decode Caesar cipher text with any shift, plus ROT13 and ROT47. Brute-force all 25 shifts to crack an unknown key.
HTML Entity Encoder/Decoder
Encode and decode HTML entities - named (&), decimal (&), and hex (&) forms, with XSS-safe special-character escaping
Image to Base64 Converter
Convert images to Base64 data URIs and decode Base64 back to images.
Unicode Converter
Convert text to and from Unicode code points, HTML entities, JavaScript escapes, and CSS escapes. Emoji and astral characters handled correctly.
Comments
0 comments
No comments yet. Be the first to share your thoughts!