UltKit

文字反轉

用三種方式把文字倒過來:每個字元從最後排到最前、每一行的單字順序反轉,或整段文字的行由下往上排列。結果會在您輸入時即時顯示,並且在瀏覽器中計算,貼上的內容完全不會上傳。

反轉

0 個字元 · 0 個字詞 · 0 行

0 個字元 · 0 個字詞 · 0 行

完全在此瀏覽器分頁中執行,您的文字不會被上傳或儲存。

功能說明

文字反轉 以三種方式之一將文字倒轉:把每個字元從最後一個排到第一個(表情符號與帶重音的字母維持完整)、反轉每一行中的字詞順序,或將整段文字的行由下往上排列。

處理前
stressed
處理後
desserts

三種反轉方式與各自的用途

字元模式會將整段文字鏡像反轉:「stressed」會變成「desserts」。常見用途包括檢查回文、製作文字謎題與密室逃脫線索、把劇透藏在明處,或產生放到鏡子前就能讀的反向文字——達文西就是用這種方式,在筆記本裡以鏡像文字由右向左書寫。檢查回文時,最好先移除空格與標點,因為「A man, a plan, a canal: Panama」必須化簡成只剩字母,倒過來讀才會一樣。

單字模式會保留每個單字完整,只反轉每一行中單字的順序,所以「one two three」會變成「three two one」。適合用來調換「姓 名」寫法的姓名、做語言練習,或反轉以空格分隔的路徑與導覽列。行模式會把清單上下顛倒,但不改動每一行本身:由舊到新的紀錄會變成由新到舊,倒數編號會變成正數,聊天記錄匯出檔也能以時間倒序閱讀。如果需要的是真正的字母或數字排序,請改用行排序。

為什麼簡單的反轉會弄壞表情符號和重音字母

JavaScript 字串是一串 UTF-16 編碼單元,許多反轉工具只是直接翻轉這個序列。這會把基本多文種平面以外的字元(例如大多數表情符號)拆成兩半,變成無效字元,也會讓組合符號脫離原字母:以字母 e 加上組合銳音符輸入的 é,反轉後重音符號會跑到錯的字母上。旗幟的錯誤則更有趣,因為旗幟表情符號是由兩個區域指示符號字母組成;美國國旗是字母 U 和 S,逐編碼單元反轉後會變成 S U 的組合。

本工具使用瀏覽器的 Intl.Segmenter 將文字切分成字素簇,也就是讀者感知為一個字元的單位,再進行反轉。以零寬連字連接的家庭表情符號、膚色修飾符、旗幟與帶重音的字母都能完整保留。阿拉伯文與希伯來文等由右至左的文字,同樣依儲存順序反轉;由於瀏覽器是由右向左顯示,反轉後的結果看起來會是由左向右。

常見問題

如何檢查一個詞是不是回文?
請在字元模式下貼上文字,並將結果與原文比對。若是詞句,請先移除空格與標點並統一大小寫,因為檢查回文時通常會忽略這些。
反轉文字時表情符號會保持完整嗎?
可以。文字是依字素簇反轉,所以表情符號序列、旗幟或帶組合重音的字母都會作為一個單位移動,不會被拆成損壞的兩半。
可以只反轉清單順序而不重新排序嗎?
請選擇行模式。最後一行會變成第一行,依此類推,而每一行本身的文字維持原樣。空白行會保留在鏡像後的位置。
倒寫文字和上下顛倒或鏡像文字一樣嗎?
不是。反轉只會改變一般字元的順序。上下顛倒文字則是把每個字母換成外觀相似的其他 Unicode 字元,例如以 ɐ 代替 a,那是另一種轉換。