የጥያቄ-ሕብረ-ቁምፊ እሴቶችን መገንባት
በ ?q=... ውስጥ የሚያስቀምጡት ማንኛውም የተጠቃሚ ግብዓት በ Component ሁነታ መኮድ አለበት። URI ሁነታ = እና & ጥሬ ይተዋቸዋል፣ እሴቱ ሲይዛቸው URL-ዎን ያበላሻል።
ማንኛውንም ጽሑፍ ወደ percent-encoded URL-safe ሕብረ-ቁምፊ ይለውጡ፣ ወይም የተኮደ URL-ን ወደ ቀላል ጽሑፍ ይመልሱ። ቀጥታ ቅድመ-እይታ፣ UTF-8 ደህንነቱ የተጠበቀ፣ ሙሉ በሙሉ በአሳሽዎ ውስጥ ይሠራል።
Component (encodeURIComponent) unreserved ያልሆነ ቁምፊ ሁሉንም ይኮዳል — ለጥያቄ-ሕብረ-ቁምፊ እሴቶች፣ የመንገድ ክፍሎች ወይም ለማንኛውም ነጠላ መስክ በጣም ደህንነቱ የተጠበቀ ነው። URI (encodeURI) የ URL መዋቅር ቁምፊዎችን (:/?#=&) ይጠብቃል — በሙሉ URL ላይ ይጠቀሙበት። Form (application/x-www-form-urlencoded) Component + ክፍተቶች ወደ '+' የሚቀየር ነው — HTML ቅጾች የሚጠቀሙበት።
RFC 3986 መኮድ የማይፈልጉ የ "unreserved" ቁምፊዎች ስብስብን ይገልጻል፡ A-Z a-z 0-9 - _. ~ ናቸው። ሌላ ሁሉ percent-encoded ይሆናል። encodeURIComponent ተጨማሪ :/?#&= ይኮዳል፣ encodeURI ግን ይተዋቸዋል። ይህ ልዩነት የጥያቄ እሴት ከመኮድ ይልቅ ሙሉ URL ሲኮዱ ጠቃሚ ነው።
የጽሑፍ ፋይል እዚህ ይጣሉ፣ ወይም ለማሰስ ጠቅ ያድርጉ
ማንኛውም UTF-8 የጽሑፍ ፋይል፡.txt,.csv,.json,.url,.log
ፈጣን፣ ትክክለኛ፣ በአሳሽ ብቻ — ለገንቢዎች፣ ለጽሑፍ ጸሐፊዎች እና URL ለሚያስተካክል ሁሉ የተዘጋጀ።
የሚኮዱትን ነገር መሠረት በማድረግ Component፣ Full URI ወይም Form ሁነታን ይምረጡ — የጥያቄ-ሕብረ-ቁምፊ እሴቶች፣ ሙሉ URL ወይም HTML ቅጽ ይዘት።
እያንዳንዱ መኮድ እና መዲኮድ በአሳሽዎ ውስጥ የ JavaScript ተወላጅ ተግባራትን በመጠቀም ይከናወናል። ጽሑፎችዎ እና URL-ዎችዎ መሣሪያዎን ፈጽሞ አይለቁም።
በእያንዳንዱ የቁልፍ መጫን ውጤቱ ይዘምናል — የሚጫን "ኢንኮድ" አዝራር የለም፣ ወደ አገልጋይ የመመለሻ ጉዞ የለም።
ኢሞጂዎች፣ የ CJK ቁምፊዎች፣ የላቲን ምልክት ያላቸው እና የሲሪሊክ ቁምፊዎች በ encodeURIComponent በኩል ትክክል በመግባት እና በመመለስ ይጓዛሉ።
በሚዲኮድበት ጊዜ '+' ን እንደ ክፍተት ለመቁጠር ይምረጡ — በ application/x-www-form-urlencoded ስር HTML ቅጾች የሚጠቀሙበት ስምምነት።
txt,.csv ወይም.json ፋይል ይጣሉ እና በአንድ ደረጃ ይኮድ ወይም ይዲኮድ። ውጤቱ እንደ ንፁህ.txt ይወርዳል።
ሦስት ተወላጅ የአሳሽ APIs፣ ሦስት ሁነታዎች፣ ሁሉም በሚያነቡት ገጽ ውስጥ ይሠራሉ።
በእያንዳንዱ የቁልፍ መጫን፣ የግብዓት ሕብረ-ቁምፊ ወደ ትንሽ JavaScript ተግባር ይተላለፋል። ምንም debounce የለም፣ ምንም API ጥሪ የለም፣ ምንም fetch የለም — ተግባሩ በአሳሽ ትርዎ ውስጥ ሲንክሮኖስ በሆነ መንገድ ይሠራል።
Component encodeURIComponent ይጠራል — A-Z a-z 0-9 - _. ~ ያልሆነ ሁሉ ይኮዳል። URI encodeURI ይጠራል — ሙሉ URL ልክ እንዲሆን :/?#=& ይጠብቃል። Form encodeURIComponent ይጠቀማል እና በ application/x-www-form-urlencoded መሠረት ክፍተትን በ + ይተካል።
ሁለቱም encodeURIComponent እና encodeURI ሕብረ-ቁምፊውን ወደ UTF-8 ባይቶች በውስጥ ይለውጣሉ ከዚያም ደህንነቱ ያልተጠበቀ ባይት ሁሉ percent-encode ያደርጋሉ። ይህ ማለት ለቻይንኛ 中 ቁምፊ %E4%B8%AD ነው — RFC 3986 የሚፈልገው ልክ ያ ነው።
ውጤቱ ንባብ-ብቻ የሆነውን ውጤት እሴት ሆኖ ይቀመጣል። በ navigator.clipboard.writeText በኩል ወደ ቅንጥብ ሰሌዳዎ ለማድረግ ቅዳ ን ጠቅ ያድርጉ፣ ወይም በ Blob URL በኩል እንደ .txt ለማስቀመጥ አውርድ ን ይጫኑ — ሁለቱም በአሳሽዎ ውስጥ ይቆያሉ።
ትክክለኛ የመኮድ ሁነታ ሳንካዎችን የሚከላከልባቸው እውነተኛ ሁኔታዎች።
በ ?q=... ውስጥ የሚያስቀምጡት ማንኛውም የተጠቃሚ ግብዓት በ Component ሁነታ መኮድ አለበት። URI ሁነታ = እና & ጥሬ ይተዋቸዋል፣ እሴቱ ሲይዛቸው URL-ዎን ያበላሻል።
አንዳንድ የውይይት መተግበሪያዎች እና PDF-ዎች ጥሬ ክፍተቶችን ወይም ASCII-ያልሆኑ ቁምፊዎችን ሲይዙ አገናኞችን ያበላሻሉ። URL-ን በ URI ሁነታ ውስጥ ያሳልፉት እና በሁሉም ቦታ ኮፒ-ፔስት-ደህንነት ያለው እንዲሆን ያድርጉት።
API-ዎ ጥያቄን ሲቃወም፣ አገልጋዩ በትክክል ያየውን ለማየት URL-ን ወደ Decode ሁነታ ይለጥፉት። በእጥፍ የተኮዱ እሴቶች (% እራሱ እንደ %25 የተኮደበት) ወዲያውኑ ይታያሉ።
በ application/x-www-form-urlencoded ውስጥ POST አካላትን ሲያስተካክሉ፣ "+ as space" መቀየሪያ በርቶ ይዲኮዱ። አሳሾች የሚጠቀሙበት ስምምነት ያ ነው፣ መርሳትም "ለምን የተጠቃሚ ስሜ በመደመር ምልክት እየታየ ነው" ሳንካዎች #1 መንስኤ ነው።
የሚኮዷቸው URL-ዎች ብዙውን ጊዜ ትክክለኛ የደንበኛ ኢሜይሎችን፣ መታወቂያዎችን ወይም የክፍለ-ጊዜ ቶከኖችን ይይዛሉ — ልክ የማታውቁት ሰው አገልጋይ መሣሪያ ውስጥ መለጠፍ የማይፈልጉትን ዓይነት ውሂብ። iKit URL ኢንኮደር በአሳሽዎ ውስጥ አስቀድሞ የተጫነ JavaScript ሆኖ ይሠራል፣ ስለዚህ ግብዓቱ ትርዎን ፈጽሞ አይለቅም።
fetch፣ XHR ወይም beacon የለም።
ከ iKit ብሎግ ጥልቅ ትምህርቶች እና የመሳሪያ ንፅፅሮች።
The 30-year-old form-encoding quirk explained — when + means space, when it means literal +, and how to fix the email-with-plus bug.
When to reach for Base64 versus URL percent-encoding, and what each encoding actually solves.
Pretty-print, validate, and structurally diff messy JSON in any browser.
Component (encodeURIComponent) unreserved ያልሆነ ቁምፊ ሁሉንም ይኮዳል — ለጥያቄ-ሕብረ-ቁምፊ እሴቶች፣ የመንገድ ክፍሎች ወይም ለማንኛውም ነጠላ መስክ በጣም ደህንነቱ የተጠበቀ ነው። URI (encodeURI) የ URL መዋቅር ቁምፊዎችን (:/?#=&) ይጠብቃል — በሙሉ URL ላይ ይጠቀሙበት። Form (application/x-www-form-urlencoded) Component + ክፍተቶች ወደ '+' የሚቀየር ነው — HTML ቅጾች የሚጠቀሙበት።
RFC 3986 መኮድ የማይፈልጉ የ "unreserved" ቁምፊዎች ስብስብን ይገልጻል፡ A-Z a-z 0-9 - _. ~ ናቸው። ሌላ ሁሉ percent-encoded ይሆናል። encodeURIComponent ተጨማሪ :/?#&= ይኮዳል፣ encodeURI ግን ይተዋቸዋል። ይህ ልዩነት የጥያቄ እሴት ከመኮድ ይልቅ ሙሉ URL ሲኮዱ ጠቃሚ ነው።
ሦስት የተለመዱ ምክንያቶች፡ (1) ዋናው Form-encoded ስለነበረ '+' እንደ ክፍተት መታየት አለበት — ያንን አማራጭ ይቀይሩ። (2) በእጥፍ የተኮደ — ግብዓቱ ሁለት ጊዜ ተኮዶ ነበር፤ እንደገና ይዲኮዱ። (3) ልክ ያልሆነ percent ቅደም ተከተል — ሁለት ሄክስ አሃዞች ያልተከተለው % ብቸኛ። ለትክክለኛው ባይት ቦታ የስህተት መልዕክቱን ይመልከቱ።
ለ Component ሁነታ አዎ — encodeURIComponent ን በቀጥታ እንጠራዋለን። Form ሁነታ መደበኛ የቅጽ-መኮድ ማስተካከያዎችን (! ' * ወደ %21 %27 %28 %29 %2A) በ RFC 3986 + WHATWG መሠረት ይጨምራል። URI ሁነታ encodeURI ን ይጠራል፣ ይህም በብዙ ቋንቋዎች 'URL ን percent-encode ማድረግ' ማለት ነው።
አይ። መሣሪያው ሙሉ በሙሉ በዚህ ገጽ ውስጥ JavaScript ነው — መኮድ እና መዲኮድ በአሳሽዎ ውስጥ ይከናወናል። DevTools → Network ን በመክፈት እና በመመልከት ማረጋገጥ ይችላሉ፡ በመኮድ ወይም በመዲኮድ ሥራዎች ወቅት ምንም ጥያቄዎች አይላኩም።