String Escape/Unescape
I-escape o i-unescape ang string para sa JSON, JavaScript, template literal, SQL, CSV, HTML attribute, regular expression at URL, mismo sa iyong browser.
Hindi kapalit ng mga parameterized query (prepared statement) ang pag-escape. Gamitin ang output na ito para magbasa o mag-debug ng SQL, hindi kailanman para bumuo ng mga query mula sa input ng user.
Paano mag-escape o mag-unescape ng string
- Piliin ang target sa Format: JSON string, JavaScript string, JavaScript template literal, SQL string literal, CSV field, halaga ng HTML attribute, regular expression o URL component.
- I-type o i-paste ang iyong text sa input box.
- I-click ang I-escape para gawing ligtas na literal ang plain text, o I-unescape para ibalik ang literal sa plain text. Nag-a-update ang resulta habang nagta-type ka, sa direksyong huli mong pinili.
- Isaayos ang mga opsyong ipinapakita para sa format: Magdagdag ng nakapaligid na quote, I-escape ang mga karakter na hindi ASCII o Mga espasyo bilang + (form data).
- I-click ang Kopyahin, o Gamitin ang output bilang input para baligtarin ang operasyon at suriin ang round trip.
Ipinapakita sa ilalim ng mga button ang bilang ng karakter bago at pagkatapos. Lahat ay tumatakbo sa iyong browser; walang ina-upload.
Ano ang ginagawa ng bawat format
- JSON string: ine-escape ang
",\at mga control character (\n,\t,\u0000…), eksakto gaya ngJSON.stringify. Kapag naka-on ang I-escape ang mga karakter na hindi ASCII, ang bawat karakter na higit sa U+007E ay nagiging\uXXXX(ang emoji ay nagiging surrogate pair gaya ng😀). Tumatanggap ang unescape ng text na may o walang double quote, at kinukunsinti ang mga raw na line break. - JavaScript string (‘…’): ine-escape ang backslash, single quote, line break at control character, pati ang U+2028 at U+2029 na sumisira sa mas lumang engine. Nauunawaan ng unescape ang
\x41,A,\u{1F600}, mga legacy na octal escape gaya ng\101at mga line continuation. - JavaScript template literal (`…`): ine-escape ang mga backtick, backslash at
${para walang expression na maisakatuparan; nananatili ang mga line break at tab, dahil pinapayagan ang mga ito sa mga template literal. - SQL string literal (‘…’): dinodoble ang mga single quote (
O'Brien→'O''Brien'), gaya sa standard SQL. Tumatanggi ang unescape sa quote na hindi dinoble. Hindi ginagalaw ang mga backslash: tinatrato rin ng MySQL sa default mode ang\bilang escape character, kaya suriin ang mga patakaran ng iyong database. - CSV field (RFC 4180): binabalot ang field sa mga double quote at dinodoble ang mga quote sa loob kapag may kuwit, semicolon, tab, quote, line break o espasyo sa simula/dulo. Pinipilit ng Magdagdag ng nakapaligid na quote ang mga quote.
- Halaga ng HTML attribute: pinapalitan ang
&,<,>,"at'ng mga entity, na ligtas sa mga attribute na may single o double quote. Dine-decode ng unescape ang mga numeric reference at ang&,<,>,",'at . - Regular expression (literal na text): nilalagyan ng backslash ang
. * + ? ^ $ { } ( ) | [ ] \ /, pati ang mga line break at tab, para literal na tumugma ang pattern sa text. Valid ang resulta may flag man o wala angu. - URL component (percent-encoding): gumagana gaya ng
encodeURIComponent, na ine-encode bilang UTF-8 byte ang lahat maliban sa mga letra, digit at- _ . ! ~ * ' ( ). Ang Mga espasyo bilang + (form data) ay gumagamit ng kumbensyon ngapplication/x-www-form-urlencoded.
Hindi hangganan ng seguridad ang pag-escape para sa SQL
Kapag pinili mo ang SQL, nagpapakita ang tool ng paalala, at karapat-dapat itong ulitin: ang tunay na lunas sa SQL injection ay ang parameterized query (prepared statement), kung saan hiwalay na ipinapadala ang halaga sa SQL text. Marupok ang manu-manong pag-escape: nakadepende ito sa database, sa character set ng koneksyon at sa mga setting gaya ng paghawak ng MySQL sa backslash. Gamitin ang output na ito para magbasa ng log, magsulat ng fixture o mag-debug ng query, hindi kailanman para bumuo ng mga query mula sa input ng user.
Para sa CSV, nagbibigay din ng babala ang tool kapag nagsisimula sa =, +, - o @ ang halaga: maaari itong patakbuhin ng spreadsheet bilang formula (CSV injection). Hindi ito napipigilan ng pag-quote; ang paglalagay ng apostrophe o espasyo sa unahan ng halaga ang karaniwang paraan ng pagbabawas nito.
Mga madalas itanong
Ano ang pagkakaiba ng JSON string at JavaScript string?
Double quote at maliit na set ng mga escape lang ang pinapayagan ng JSON (\" \\ \/ \b \f \n \r \t \uXXXX). Tumatanggap din ang JavaScript ng mga single quote, backtick, \x41, \u{…}, \v at \0. Valid sa JavaScript ang mga valid na JSON escape, pero hindi kabaligtaran.
Bakit pumapalya ang unescape na may "hindi valid na escape sequence"?
May backslash ang text na sinusundan ng bagay na hindi pinapayagan ng format, gaya ng \u12 na wala pang apat na hex digit, o nag-iisang backslash sa dulo. Ipinapakita ng error message ang maling sequence.
Kailangan ba ng quote ang bawat CSV field?
Hindi. Kinakailangan lang ng RFC 4180 ang mga quote kapag may kuwit, double quote o line break ang field. Kino-quote din ng tool na ito ang mga semicolon, tab at espasyo sa simula o dulo, dahil maraming spreadsheet ang gumagamit sa mga ito bilang delimiter o tinatanggal ang mga ito.
Sapat ba ang HTML attribute escape para pigilan ang XSS?
Tama ito para sa text na nasa loob ng halaga ng attribute na may quote. Hindi ito sapat para sa mga attribute na code o URL mismo, gaya ng onclick o href="javascript:…"; kailangan ng mga iyon ng validation, hindi lang escaping.
Ipinapadala ba sa server ang text ko?
Hindi. Lahat ng conversion ay lokal na tumatakbo sa iyong browser, kaya ligtas kang mag-paste ng mga configuration value o data na hindi mo ibabahagi.
Mga kaugnay na tool
- URL Encoder at Decoder Libreng URL encoder at decoder. I-percent-encode ang mga query parameter o buong URL, i-decode ang mga %XX sequence at ituring na espasyo ang +, sa browser mo.
- HTML Entity Encoder/Decoder I-escape ang mga espesyal na character bilang HTML entity (may pangalan, decimal o hex) o i-decode ang anumang entity gamit ang 2,231 HTML5 reference.
- JSON Formatter at Validator Libreng JSON formatter at validator na nagbi-beautify, nagmi-minify at nagsusuri ng JSON sa iyong browser, may ulat ng syntax error ayon sa linya at column.
- Regex Tester Subukan nang live ang mga JavaScript regular expression: may naka-highlight na match, capture group, pagpapalit at paliwanag ng bawat token.