我一週的大部分時間都在 Laravel 控制器、React 元件或 WP Adminify 插件程式碼庫中度過。在每一個中,實際的"編寫程式碼"部分可能是一半的工作。另一半是結締組織:格式化 JSON blob 和 API 剛剛吐出來,解碼 JWT 的中間部分以了解 auth 失敗的原因,為播種機產生 40 個測試 UUID,將日誌行中的 Unix 時間戳轉換為人類可以讀取的內容。
多年來我一直以笨拙的方式做這些--一次性的節點腳本, jq 如果我能記住語法,或者最常見的是,一個帶有三個廣告橫幅和一個 cookie 牆的隨機實用網站。最後一個選擇是最終促使我建造的 工具。dev. 太多的網站悄悄地將您的輸入發佈到伺服器上,以便瀏覽器可以在本地完成工作,我厭倦了貼上客戶端的位元'配置為陌生人和#39;後端只是為了漂亮地列印它。
本指南是實際的工具包 - 我每天多次在書籤上保留並打開的編碼工具。每個都完全在您的瀏覽器中運行,因此資料永遠不會離開您的機器,並且沒有人要求您註冊。 I'將按照我使用它的方式檢查每一個,它節省了即時時間,以及錯誤 I'已經做到了,所以你不要這樣做'不必重複它們。
TL;DR: 對於 API 工作, json 格式化程式 美化和驗證,以及 Base64 轉換器 解碼令牌和資料 URI。用於模式匹配, 正規表示式建構器 測試模式直播。對於 ID, uuid 生成器 批量生產 v1/v4/v7。用於調試, 時間戳轉換器 將紀元秒數轉換為可讀日期,並且 哈希產生器 MD5/SHA 嗎?所有客戶端,全部免費。
為什麼使用獨立工具來取代您的 IDE 或終端機?
我從其他開發人員那裡得到了這個問題,它's fair - VS Code 有擴展,並且終端有 jq, openssl, 和 base64 內建。那為什麼要開啟瀏覽器標籤呢?
誠實的答案是摩擦和背景。 CLI 工具非常棒,當它們'已經在你重複運行的腳本中。但是一次性的 - "what'現在就在這個令牌內" - 記住的成本 openssl dgst -sha256 或得到 jq 過濾語法正確比任務本身更高。 IDE 擴充解決了其中一些問題,但它們'與一個編輯器綁定,它們需要安裝和配置,其中一半已經'兩年內沒有更新。當 I'm SSH'd 進入一個盒子時,在同事和#39;s 機器上,或在我的手機上,這些設定都不存在。
瀏覽器工具迴避了所有這些。它執行一項工作,準確地公開工作所需的選項,並且 #39;每個設備上都是相同的。三個 I'd 呼叫永久書籤是 JSON 格式、正規表示式測試和 Base64 解碼 - 其餘的都是情境性的,但仍然比快速傳遞的替代方案更快。
There'也是一個隱私角度,它'整個原因 toolz。dev 是瀏覽器優先的。這裡的每個工具都在自己的選項卡中使用 JavaScript 處理您的輸入。那裡'沒有上傳,沒有伺服器往返,沒有您貼上內容的日誌。當 "輸入&引用時,這很重要;是一個 JWT,其中包含即時會話,a .env 文件,或客戶記錄您'只應該是調試。
如何快速格式化和驗證 JSON?
JSON 是一切都在使用的語言 - REST API、設定檔、日誌管道、我接觸過的一半資料庫。原始 JSON,尤其是精簡回應,是不可讀的。這裡'這是我經常處理的事情的真實形式:
{"users":[{"id":1,"name":"Alice","roles":["admin","editor"],"settings":{"theme":"dark","notifications":{"email":true,"push":false}}},{"id":2,"name":"Bob","roles":["viewer"],"settings":{"theme":"light","notifications":{"email":false,"push":true}}}]}
尋找 Bob 是否有推播通知意味著逐個字元掃描該字元。將其貼到 json 格式化程式 一鍵就變成了一棵縮排的樹。除了美化之外,我最依賴的部分是驗證 - 它指向尾隨逗號或未轉義的引號破壞文件的確切行,當 API 向您提供幾乎但不完全有效的東西時,這確實節省了時間。
它所做的四件事是我實際使用的:
- 美化 具有 2-space、4-space 或選項卡縮排(我使用 2 來匹配 Prettier 預設值)。
- 縮小 在運送有效負載之前剝離空白。
- 驗證 帶有錯誤訊息,該訊息不僅命名了位置;無效的 JSON"。
- 樹視圖 用於在不計算括號的情況下導航深度嵌套的回應。
我很早就犯了一個錯誤,現在警告大家:我曾經&引用;固定&引用;透過將配置貼上到格式化程式中默默接受 JSON5 風格的尾隨逗號和註釋,然後想知道為什麼生產中的嚴格解析器拒絕它一個小時。一個好的驗證器可以讓您了解實際情況 JSON 規格 (ECMA-404 /RFC 8259)- 沒有註釋,沒有尾隨逗號,雙引號鍵 - 這正是您部署前想要的。對於完整的工作流程、格式和轉換技巧,我寫了一個專門的 JSON 工具指南.
Base64 的實際用途是什麼?何時需要它?
Base64 是每個開發人員都會遇到但很少有人停下來理解的事情之一,直到它咬住他們。它將二進位資料轉換為 64 個字元的 ASCII 字母表,因此它可以透過純文字通道傳輸。它不是加密而不是壓縮 - 它使資料大約大 33% - 它只是使位元組可以安全地貼上到文字中。
我在練習中擊中它的地方:
- JWT- 標頭和有效負載是 Base64url 編碼的 JSON。解碼中間段以查看索賠和到期。
- 數據 URI- 將一個小圖示直接嵌入到 CSS 中
data:image/png;base64,...儲存 HTTP 請求。 - HTTP 基本授權- 憑證將 Base64 編碼到
Authorization標題。 - 配置和秘密- 例如,Kubernetes 的秘密,儲存 Base64 編碼的值(人們經常將其誤認為是加密 - 但事實並非如此)。
的 Base64 轉換器 立即編碼和解碼:貼上、選擇方向、複製。值得一提的是標準 Base64 和 中定義的 URL 安全變體之間的差異 RFC 4648- URL 安全交換 +/ 對於 -_ 並丟棄填充,這就是 JWT 使用的。將 JWT 段饋送到需要標準 Base64 及其#39 的解碼器;將阻塞缺失的填充。我解釋了演算法、URL 安全變體以及捕獲的 Unicode 陷阱 btoa() 完整地 Base64 編碼指南.
如何在不猜測的情況下建立正規表示式?
正規表示式同時也是工具包中最強大、最令人沮喪的東西。語法密集、無情,單一錯位的量詞會改變模式匹配的內容。視覺建構器重要的原因是它將寫入-測試-失敗-重寫循環變成即時循環 - 您在鍵入時看到匹配突出顯示。
這些是模式 I'不斷驗證和重複使用:
| 圖案 | 比賽 | 例子 |
|---|---|---|
^[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,}$ |
實用電子郵件 | [email protected] |
^https?://[\w\-.]+\.\w+ |
網址 | https://toolz.dev |
^\d{3}-\d{3}-\d{4}$ |
美國電話 | 555-123-4567 |
^(?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)$ |
IPv4 | 192.168.1.1 |
^#(?:[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ |
六角色 | #4466EE |
^\d{4}-\d{2}-\d{2}$ |
ISO 日期 | 2026-07-11 |
貼一個 正規表示式建構器,放下一些測試字串,然後切換 g/i/m 標記以觀察什麼變化。最大的教訓 I'在這裡學到的是避免災難性的回溯--就像這樣的模式 ^(a+)+$ 看起來無害,但在長不匹配輸入上會凍結,因為引擎會探索指數數量的路徑。 '這是一個真正的拒絕服務向量,而不是好奇心。我對此進行了深入探討,再加上完整的作弊表和特定於語言的怪癖 正規表示式產生器指南.
您應該產生哪個 UUID 版本?
通用唯一識別碼是 128 位元值,您可以在數百萬台機器上獨立生成,無需協調,並且仍然相信自己是唯一的。如果您建立任何分散式軟體 - 微服務、離線優先應用程式、分片資料庫 - 您就需要它們。問題是有多個版本,大多數人出於習慣而嘗試錯誤的版本。
我 2026 年推薦的簡短版本:
- v4(隨機)- 122 個隨機位,無時間或硬體洩漏。當您 don't 需要訂購時,安全預設值。
- v1(時間戳+mac)- 按時間順序但洩漏了生成機's MAC 位址。避免新工作。
- v7(時間順序+隨機)- 毫秒 Unix 時間戳,後面跟著隨機性,標準化 RFC 9562 (2024). 這是我對新資料庫主鍵的預設值,因為它在 B 樹索引中排序良好,沒有 v1 的隱私問題。
的 uuid 生成器 一鍵即可產生任何版本的單一或批次 ID,這正是我在播種表格時想要的。我學到了一件昂貴的方法:將 UUID 儲存為 VARCHAR(36) 而不是本地人 uuid/BINARY(16) 類型使儲存空間加倍並減慢每個索引比較的速度。在一個有數百萬行的表格上,#39;不是舍入錯誤。版本、資料庫儲存和 v7-vs-auto-increment 決策的完整細分位於 UUID 產生器指南.
如何在 Unix 時間戳和可讀日期之間轉換?
時間是程式設計中最容易出錯的領域,我說作為一個發布錯誤的人,因為我混淆了秒和毫秒。伺服器日誌說 Unix 紀元,JavaScript 說毫秒,REST API 說 ISO 8601,電子郵件標頭說 RFC 2822。手動在它們之間進行轉換是您最終結果是一千倍。
| 格式 | 例子 | 你在哪裡看到的 |
|---|---|---|
| Unix 紀元(秒) | 1783929600 |
伺服器日誌,大多數 API |
| Unix 紀元 (ms) | 1783929600000 |
JavaScript,java |
| ISO 8601 | 2026-07-11T00:00:00Z |
休息 API,JSON |
| RFC 2822 | Sat, 11 Jul 2026 00:00:00 +0000 |
電子郵件標題 |
的 時間戳轉換器 透過時區支援處理所有這些,這就是我在日誌行中有裸數時打開的內容。值得知道的是:經典的 32 位元簽名 Unix 時間戳溢出於 2038 年 1 月 19 日("Y2K38"問題),這就是為什麼任何儲存時間的東西現在都應該使用 64 位元整數。如果您每天處理日誌,請將其固定。
YAML、雜湊和格式轉換怎麼樣?
這三者在日常節目中更加完善,儘管我使用的它們比頭條新聞少。
亞姆爾 是 Kubernetes、Docker Compose 和 GitHub Actions 的配置語言,其縮排靈敏度使其脆弱 - 一個雜散選項卡(YAML 禁止選項卡縮排)或一個未引用的選項卡 no 這被解析為布林值將破壞部署。這 yaml 驗證器 立即抓住那些,並且 XML 到 JSON 和 JSON 到 YAML 當 you' 在系統之間移動配置時,轉換器會處理格式洗牌。
哈希 是為了誠信,而不是保密。我用 哈希產生器 根據已發布的校驗和驗證下載的文件,或建立內容雜湊快取金鑰。重要的規則:MD5 和 SHA-1 對於非安全性校驗和沒問題,但對於攻擊者可能造成衝突的任何情況都會被破壞 - 在那裡使用 SHA-256 或更好。
| 算法 | 輸出 | 用它來 | 安全 |
|---|---|---|---|
| MD5 | 128 位元 | 校驗和、快取金鑰 | 為安全而損壞 |
| SHA-1 | 160 位元 | 舊版相容性 | 已棄用 |
| SHA-256 | 256 位元 | 簽名、誠信 | 安全 |
| SHA-512 | 512 位元 | 高安全性哈希 | 安全 |
格式轉換- 在 JSON、CSV、YAML 和 XML 之間移動資料 - 當 I'm 向 API 和#39;s 輸出到電子表格或相反時,不斷出現。 Toolz。dev 有 json 到 csv, csv 到 json,以及上面的 XML/YAML 轉換器。一個警告:CSV can't 代表嵌套結構,因此深度嵌套資料的任何 JSON 到 CSV 都是有損的,需要先展平。在轉換大匯出之前,請務必先測試小樣本。
真正的多工具工作流程是什麼樣的?
當您連結這些工具時,它們就會獲得大部分價值,因為真正的調試很少是一步。上個月的一個具體範例,調試令牌被拒絕的原因:
- 從失敗的請求標頭複製 JWT 並將其分割到點上。
- 將中間(有效負載)段貼上到 Base64 轉換器 解碼它 - 記住它'的 URL 安全 Base64。
- 將產生的 JSON 放入 json 格式化程式 閱讀索賠。
- 拿了
expvalue(unix 時間戳)並運行它 時間戳轉換器- 這顯示令牌已在四小時前過期。發卡伺服器上的時鐘傾斜。只需幾分鐘而不是下午即可修復,即可添加調試日誌和重新部署。
那'模式:每個工具執行一件事,其中一個工具的輸出提供下一件事。因為它都在客戶端運行,所以這些令牌資料都沒有離開過我的筆記型電腦,這正是您在 're 調試就是身份驗證時想要的。
一些保持快速的習慣:為您最常接觸的五個工具添加書籤(toolz。dev 也會顯示您最近使用的工具),依靠標準剪貼簿快捷方式,並始終驗證配置、清單和模式 之前 部署 - 驗證器捕獲的語法錯誤需要花費幾秒鐘;下午的生產成本也出現了同樣的錯誤。
常見問題
對於 Web 開發人員來說,最重要的編碼工具是什麼?
核心集 I'd 為任何 Web 開發人員提供 JSON 格式化程式和驗證器、Base64 編碼器/解碼器、正規表示式測試器、UUID 產生器、雜湊產生器和時間戳轉換器。這些涵蓋了正常一天中絕大多數的非寫入程式碼任務 - 檢查 API 回應、解碼令牌、產生測試資料和讀取日誌。其他一切都是情境性的。
基於瀏覽器的編碼工具對於令牌和金鑰等敏感資料是否安全?
這完全取決於工具是在瀏覽器中還是在伺服器上處理資料。客戶端工具,例如 工具。dev 在您自己的標籤中使用 JavaScript 運行,因此您的輸入永遠不會上傳或記錄到任何地方。在貼上任何敏感內容之前 - JWT、API 金鑰、a .env 價值 - 進入任何線上工具,確認它's 客戶端。如果工具要求您 "上傳"或在點擊進程時顯示網路請求,請將資料視為已公開。
JSON 格式化程式和 JSON 驗證器有什麼不同?
驗證器回答一個問題 - 這個可解析的 JSON 是還是不是 - 如果答案是否定的,它會告訴您解析失敗的行和列。格式化程式以一致的縮排重新列印有效的 JSON,以便人類可以讀取它。在實踐中,他們'是相同的操作:格式化程式必須先解析輸入才能漂亮地列印它,因此任何像樣的人都會將語法錯誤報告為副作用。當請求被拒絕時,請聯絡驗證器'發送錯誤訊息,當回應不可讀時,格式化程式'會輸出。
如何安全解碼 JWT?
使用運行客戶端的解碼器,並且從不貼上 居住 將代幣生產到您擁有的任何東西中't 已驗證。 JWT'標頭和有效負載是 Base64url 編碼的,而不是加密的 - 任何擁有代幣的人都可以讀取聲明,這就是為什麼代幣本身是秘密的原因。解碼可以閱讀 exp, iss,以及調試過程中的聲明。驗證簽名是一個單獨的步驟,需要簽名金鑰,並且該金鑰永遠不應該離開您的伺服器。
如何將 Unix 時間戳轉換為可讀日期?
將數字貼上到時間戳轉換器中,並在 UTC 和您所在的區域中讀取日期。唯一真正的陷阱是單位:十位數是秒(Unix 約定,以及大多數後端發出的),而十三位數是毫秒(JavaScript 約定)。將毫秒輸入秒解析器,您將到達 55,000 年左右的某個位置 - 錯誤為 '一旦你'就很明顯;見過一次並且第一次感到困惑。
這些工具與 jq 和 openssl 等 CLI 實用程式相比如何?
CLI 工具更強大且可編寫腳本,對於腳本中的任何重複性內容,它們都會獲勝。瀏覽器工具贏得一次性互動式工作:there'沒有什麼可安裝的,沒有需要記住的語法,而且它們在任何機器或手機上都可以相同地工作。我兩者都使用 - jq 在管道中,當我只需要關注一個回應時,瀏覽器會格式化。他們'是互補的,而不是競爭對手。
我可以離線使用這些工具嗎?
他們最初需要一個連接來載入頁面,但由於處理本身在客戶端運行,因此實際工作不依賴伺服器#39;t 載入後。如果您的連線在會話中途中斷,某些工具會繼續運作。為了保證離線使用,漸進式 Web 應用程式安裝或桌面建置是更可靠的途徑。
為什麼要使用瀏覽器工具而不是 IDE 擴充功能?
瀏覽器工具與編輯器無關,需要零設置,因此它們'可在同事和#39 上使用;機器、遠端伺服器或您的手機 - 任何 IDE 及其擴充功能安裝和配置的地方。他們'非常適合快速任務和實用程序,而您的編輯器根本不具備'沒有好的插件。當任務是在一個編輯器中每天執行數十次時,IDE 擴充功能會更好。
2026 年我應該預設使用哪個 UUID 版本?
對於新的資料庫主鍵,UUID v7 - it' s 按時間順序排列,以獲得良好的索引效能,同時保持全域唯一性,並且 ' s 現在在 RFC 9562 中標準化。當您特別想要不可預測性時,例如應該't 可猜測的標識符,請達到 v4。避免 v1 出現任何新內容,因為它會洩漏生成機和#39;s MAC 位址。
Base64 是一種加密形式嗎?
不,將其視為一個常見且危險的錯誤。 Base64 是一種任何人都可以立即解碼的可逆編碼 - 它的存在是為了使二進位資料可以安全地作為文字傳輸,而不是隱藏它。 Kubernetes 的秘密和基本作者標頭使用 Base64,但保密性為零;任何真正的秘密都需要真正的加密。
簡短版本
正確的小工具將兩分鐘的雜務變成兩秒的雜務,在一周內,這些秒數加起來就是真實的小時數。從格式化 JSON 回應到解碼令牌、測試正規表示式或讀取時間戳,這些是我實際達到的實用程式 - 不是因為它們'很聰明,而是因為它們讓開。
這裡的一切都依然存在 工具。dev,為了隱私和速度,完全在您的瀏覽器中運行,並且從不要求您註冊。從開始 json 格式化程式 和 正規表示式建構器,然後瀏覽全套 編碼工具- 有 600 多種免費工具,涵蓋編碼、文字、PDF 和圖像工作,在您需要時等待。



