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 码元组成的序列,许多反转工具只是简单地把这个序列倒过来。这样会把基本多文种平面之外的字符(比如大多数 emoji)拆成两半,变成无法构成有效字符的残片,还会让组合符号脱离原位:用字母 e 加组合锐音符输入的 é,反转后重音符号会落在错误的字母上。国旗的出错方式更有意思,因为国旗 emoji 是由两个区域指示符字母组成的;美国国旗就是字母 U 和 S,按码元逐个反转后会得到 S U 这一对。

本工具使用浏览器的 Intl.Segmenter 把文本切分为字素簇(也就是读者眼中的一个字符),再对这些字素簇进行反转。用零宽连接符组成的家庭 emoji、肤色修饰符、国旗和带重音的字母都能保持完整。阿拉伯语、希伯来语等从右向左书写的文字同样按存储顺序反转;由于浏览器按从右向左显示它们,反转后的结果看起来像是从左向右排列。

常见问题

如何检查一个词是否是回文?
在字符模式下粘贴文本,再把结果与原文对比。如果是短语,请先去掉空格和标点,并统一字母大小写,因为判断回文时通常会忽略这些。
文字反转后表情符号会保持完整吗?
可以。文本按字素簇反转,因此 emoji 序列、国旗或带组合重音的字母会作为一个整体移动,不会被拆成损坏的两半。
能否只倒转列表顺序而不排序?
选择行模式。最后一行会变成第一行,依此类推,而每一行自身的文字保持原样。空行会保留在镜像后的对应位置。
倒序文字和上下颠倒文字、镜像文字一样吗?
不是。反转只改变普通字符的顺序。倒置文字则是把每个字母替换成外形相似的另一个 Unicode 字符,比如用 ɐ 代替 a,这是另一种不同的转换。