快速且私密的線上字串跳脫方法
在撰寫程式碼或格式化資料時,特殊字元很容易破壞語法。JSON 酬載中多餘的引號、JavaScript 變數中未跳脫的換行字元,或是 CSV 檔案中未處理的逗號,都可能導致解析錯誤,甚至引發資安漏洞。
本工具提供了一種快速的方法,能針對各種程式開發情境安全地對文字進行編碼與解碼。無論您需要可靠的 JSON 跳脫工具,還是要為資料庫查詢準備字串常值,所有內容都會在您輸入時即時更新。由於轉換過程完全在您的網頁瀏覽器中執行,您的資料將保持絕對私密。任何文字都不會傳送到伺服器,讓您可以安全無虞地處理專有程式碼、資料庫內容以及敏感的 API 酬載。
支援的格式與規則
不同的程式語言與資料格式對於特殊字元的定義及跳脫 (escape) 規則各有不同。本工具支援五種常見格式:
JSON:JSON 嚴格規定字串必須使用雙引號,且換行、定位字元 (tab) 與內部引號等特殊字元前必須加上反斜線。本工具採用標準的 JSON 字串化 (stringify) 處理,確保輸出 100% 符合規範。若您的 API 回應包含已字串化的 payload,您可以輕鬆地將資料反跳脫 JSON 字串 (unescape JSON string) 還原為可讀文字。若需格式化產出的 JSON,可以使用 JSON 格式化工具。
JavaScript:雖然與 JSON 相似,但 JavaScript 字串跳脫的規則更為廣泛。本工具可將字串處理為能安全嵌入單引號、雙引號或樣板字面值 (反引號) 中的格式。它會跳脫單引號 (')、反引號 (`) 及樣板字面值表達式 (${)。在反跳脫時,能解析標準跳脫字元 (\n、\t)、十六進位碼 (\x20)、八進位序列與 Unicode 碼位 (\u00A9 或 \u{1F600})。
SQL:資料庫查詢常因使用者輸入中未處理的引號而導致錯誤。SQL 單引號跳脫功能採用標準 SQL 慣例,將單引號重複兩次 (將 ' 變成 '')。這讓您能安全地插入像 "O'Connor" 這類名稱或包含撇號的文字,而不會破壞 INSERT 或 UPDATE 語句的語法。
CSV:逗號分隔值 (CSV) 仰賴逗號來分隔欄位,並以換行來分隔列。如果您的實際資料包含逗號、換行或前後空白,本工具會用雙引號將整個字串包覆起來。若文字本身包含雙引號,則會將其重複兩次 ("") 來進行跳脫,嚴格遵守 RFC 4180 標準。
Regex:正規表示式 (Regular expressions) 使用 *、+、?、[ 與 $ 等字元作為運算子。如果您需要比對包含這些字元的純文字 (例如 URL、檔案路徑或數學等式),就必須將它們跳脫。Regex 選項會自動在所有正規表示式中介字元 (meta-characters) 前加上反斜線,讓它們被視為一般文字處理。
常見使用情境
在 JSON 中嵌入 JSON:有時 API 會要求將 JSON 物件作為字串值放入另一個 JSON 物件中。您可以先正常編寫內層的 JSON 並貼到這裡,然後複製跳脫 (escape) 處理後的版本,再貼回您的主要 payload 中。
產生 SQL 腳本:如果您正在手動編寫腳本來遷移資料,或將名單與描述新增至資料庫,可以將原始文字貼到這裡,確保所有單引號和雙引號都已正確跳脫,再貼回您的 SQL 編輯器。
建立動態 Regex 樣式:在開發允許使用者透過正規表達式 (Regex) 搜尋精確字詞的功能時,必須先對其輸入內容進行跳脫處理。您可以使用此工具,快速確認複雜字串在經過 Regex 引擎正確跳脫後的樣貌。
修復格式錯誤的資料:如果您收到的 CSV 檔案中,有特定儲存格因為包含未跳脫的換行符號或逗號而導致格式跑掉,您可以將該儲存格的原始資料貼到這裡,進行跳脫處理後再貼回原始檔案。
為什麼需要跳脫?
當您嘗試處理的資料中,包含了程式語言用來建構程式碼的相同字元時,就會發生語法衝突。如果解析器預期以雙引號來標記字串結尾,卻在您的文字 內部 遇到雙引號,它就會以為字串已經結束。這會導致後續的文字發生語法錯誤。
跳脫的作用就像是給解析器的訊號。透過加入跳脫字元(通常是反斜線 \),您可以告訴解析器:「將下一個字元視為一般文字,而不是指令。」而取消跳脫則是反轉這個過程,移除反斜線並將文字還原為原始、可讀的格式。
針對其他類型的資料編碼,您可能也會覺得 HTML 編碼/解碼 或 URL 編碼/解碼 工具很實用。