轉換工具
用於在不同格式之間轉換數值的工具。所有處理都在您的瀏覽器中完成,資料不會上傳。
- Unix 時間戳轉換工具將 Unix 時間戳轉換為易讀的日期,或反向轉換。單位會自動偵測,每個結果都會標示所屬時區。
- 大小寫轉換工具貼上文字即可一次看到所有格式的結果,從駝峰式與底線式到標題格式與句首大寫。所有處理都在您的瀏覽器中完成。
- 二進位轉換在二進位、八進位、十進位與十六進位之間轉換數值,也可將文字轉為二進位或反向轉換。即使遠超過 64 位元也保持精確。
- 單位換算工具在公制與英制之間換算長度、重量、溫度、面積、體積、速度、資料量與時間。每次換算都使用定義上精確的係數,因此不會出現浮點運算造成的誤差。
- 圖片轉檔在 PNG、JPG 與 WebP 之間轉換圖片。檔案在這個頁面裡解碼並重新編碼,因此不會離開您的裝置,離線也能使用。
- 圖片縮放將圖片調整為指定像素、百分比,或限制最長邊。縮放在這個頁面裡完成,檔案不會離開您的裝置。
選擇合適的轉換工具
要把 Unix 時間讀成你所在時區與 UTC 的日期時,使用時間戳記轉換工具;需要二進位、八進位、十進位與十六進位的精確運算時,使用進位轉換工具;要在 camelCase、snake_case、kebab-case 等命名格式之間轉換識別碼時,使用大小寫轉換工具。
長度、質量、體積、溫度、資料量與時間請使用單位換算工具;當需要改變檔案本身的格式或尺寸時,請使用圖片轉換與圖片縮放工具。圖片不會離開你的裝置:解碼與重新編碼都在瀏覽器中完成。
數值、表示法與單位
這個分類中的工作,大多屬於兩種之一。一種是數值不變、只有表示法改變,例如把 255 寫成 0xFF,或把名稱寫成 snake_case;另一種則是真的以另一個單位重新表述該數值,例如把公里換成英里,或把攝氏讀數換成華氏。
這個區別之所以重要,是因為前者永遠可以精確還原,後者通常不行。把一個數字轉成十六進位再轉回來,會得到同一個數字;把一張圖片轉成 JPG 再轉回來,卻不會得到同一張圖片。
無損、有損與近似
進位與大小寫轉換原則上是無損的,但有一個例外值得知道:縮寫在轉成小寫時會失去詞界,所以 HTTPServer 會變成 http_server,再轉回來則是 HttpServer。公制與英制之間的換算係數多半是依定義而來的精確值,而非近似值,因此那些換算完全沒有誤差。
真正有損的是圖片工具,每次有損重新編碼都會再丟掉一些內容;另一個是牽涉曆法月份或年份的換算,它們沒有精確長度,因此以平均值呈現。當結果是四捨五入而非精確值時,工具會標示出來。
在相信中間值之前,先檢查邊界
轉換出錯的情況,發生在邊界的頻率遠高於一般範圍。把以秒為單位的 Unix 時間戳記交給預期毫秒的程式,結果會落在 1970 年;用一般 JavaScript 數字轉換 64 位元識別碼,超過約九千兆後就會失去精度;把圖片放大超過原始解析度,多出來的像素從來沒有被拍攝過。
這裡的工具刻意在這些邊界上保持誠實:進位轉換使用任意精度運算,時間戳記明確標示單位,而當檔案超出瀏覽器 canvas 的負荷時,會直接拒絕,而不是默默回傳一張空白圖片。當你要檢查別人的轉換結果時,邊界情況就是該從哪裡開始。
