URL ኢንኮደር / ዲኮደር
በአሳሽዎ ውስጥ ዩአርኤሎችን እና የዩአርአይ አካላትን ኮድ ያድርጉ እና ይግለጹ። ነጻ፣ የግል እና ምንም ሰቀላ አያስፈልግም።
በአሳሽዎ ውስጥ ዩአርኤሎችን እና የዩአርአይ አካላትን ኮድ ያድርጉ እና ይግለጹ። ነጻ፣ የግል እና ምንም ሰቀላ አያስፈልግም።
URL ኢንኮዲንግ (በመደበኛው መቶኛ ኢንኮዲንግ፣ በ RFC 3986 ውስጥ የተገለጸ) በዩአርኤሎች ውስጥ ልዩ ትርጉም ያላቸውን ገጸ-ባህሪያት - ቦታዎች፣ slashs፣ ampersands፣ hash marks - በመቶ ምልክቶችን በሄክስ አሃዞች ተከትሎ ወደ አስተማማኝ ቅጽ ይተረጉማል። የጠፈር ቁምፊው %20 ይሆናል (ወይም + በቅጽ-የተመሰጠሩ አውዶች)፣ አምፐርሳንድ %26 እና የመሳሰሉት ይሆናል። ያለዚህ ኢንኮዲንግ፣ ልዩ ቁምፊዎች እንደ ዩአርኤል አገባብ ይተረጎማሉ፣ እንደ ቀጥተኛ ውሂብ፣ ዩአርኤሉን መስበር ወይም ያልታሰበ ባህሪ ከመፍጠር ይልቅ።
ሁለት ተዛማጅ ግን የተለዩ ኢንኮዲንግዎች አሉ። መደበኛው የዩአርኤል ክፍል ኢንኮዲንግ %-escapes ካልተያዙ የቁምፊ ስብስብ ውጭ ላሉ ነገሮች ሁሉ ይጠቀማል፡- A-Z፣ a-z፣ 0-9፣ hyphen፣ underscore፣ period፣ tilde። በቅጹ የተመሰጠረው ተለዋጭ (መተግበሪያ/x-www-ፎርም-urlencoded) በተጨማሪ ቦታዎችን እንደ ተጨማሪ ምልክቶች ይመለከታል እና ለተወሰኑ ሌሎች ቁምፊዎች የተለያዩ ህጎችን ይጠቀማል። የJavaScript's encodeURIComponent ጥብቅ ክፍል ኢንኮዲንግ ይጠቀማል። encodeURI የዩአርኤል መዋቅር ቁምፊዎችን የሚጠብቅ የበለጠ ፈቃጅ ይጠቀማል።
ይህ መሳሪያ ሁለቱንም ኢንኮዲንግ እና ዲኮዲንግ ያቀርባል። ኢንኮድ ሁነታ ማምለጥን በ%HH ቅርጸት የሚፈልገውን እያንዳንዱን ቁምፊ ይጠቀለላል; ዲኮድ ሁነታ ለውጡን ይለውጣል. ሁለቱም አብሮ የተሰሩ የጃቫስክሪፕት ዩአርኤል ተግባራትን በመጠቀም በአሳሽዎ ውስጥ ይሰራሉ \u200b\u200bስለዚህ ምንም ውሂብ ወደ የትኛውም ቦታ አይላክም።
በማንኛውም ጊዜ ውሂብ በዩአርኤል ውስጥ ይካተታል - የመጠይቅ ሕብረቁምፊ ግቤቶች፣ የተጠቃሚ ግብዓት የያዙ የመንገድ ክፍሎች፣ ዒላማዎችን አቅጣጫ ይቀይሩ - ትክክለኛ ኢንኮዲንግ ያስፈልጋል። ኢንኮድ ማድረግ አለመቻል ልዩ ቁምፊዎች ሲታዩ የሚበላሹ፣ የመለኪያ ድንበሮችን ወደ መጠይቅ ሕብረቁምፊዎች የሚያፈሱ (&x=1 ወደ የተለየ መለኪያ በመቀየር) ወይም በድር አገልጋዮች የተበላሹ ጥያቄዎች እንደታገዱ ዩአርኤሎችን ይፈጥራል።
መፍታት የተገላቢጦሽ ነው፡ ዋናውን ውሂብ ከተቀጠረ ዩአርኤል ማውጣት። የአሳሽ አድራሻ አሞሌዎች ብዙውን ጊዜ ዩአርኤሎችን በኮድ መልክ ያሳያሉ። ዲኮዲንግ በእውነቱ የታሰበውን ያሳያል። ምዝግብ ማስታወሻ, ማረም እና የደህንነት ትንተና ሁሉም የመጀመሪያ መለኪያዎች እና መንገዶችን ከሚያሳዩ ዲኮድ ከተደረጉ ዩአርኤሎች ይጠቀማሉ.
ሕብረቁምፊ ለጥፍ፣ አቅጣጫ ይምረጡ።
encodeURIComponent እያንዳንዱን ቁምፊ ከማይያዘው ስብስብ [A-Za-z0-9-_.~] ውጪ ያደርገዋል። ክፍተቶች %20 ይሆናሉ፣ እና ምልክቶች %2B ይሆናሉ፣ እኩል ምልክቶች %3D ይሆናሉ፣ እና የመሳሰሉት። ከ ASCII ውጪ ያሉ ቁምፊዎች መጀመሪያ በUTF-8 ውስጥ ተቀምጠዋል ከዚያም እያንዳንዱ ባይት % - አምልጧል።
encodeURI የበለጠ የተፈቀደ ነው እና ከክፍሎች ይልቅ ለሙሉ ዩአርኤሎች የታሰበ ነው። አያመልጥም /፣ ?፣ &, =, # እና ሌሎች ጥቂት ምክንያቱም እነዚያ ቁምፊዎች URL-አገባብ ትርጉም ስላላቸው። የተጠቃሚ ውሂብን በዩአርኤል ውስጥ ለመክተት፣ encodeURIComponent ሁልጊዜ ማለት ይቻላል ትክክለኛው ምርጫ ነው።
ዲኮድURIComponent % -escapesን ይለውጣል፣ እያንዳንዱ ማምለጫ በደንብ መፈጠሩን እና የተገኘው ባይት ትክክለኛ UTF-8 መሆኑን ያረጋግጣል። የተሳሳተ ግቤት ቆሻሻን ከማምረት ይልቅ ስህተትን ይጥላል።