编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 文本处理 / 文本反转

文本反转

把文本倒过来。

输入
结果

这个工具能做什么

文本反转把你粘进来的内容按选定的粒度倒过来排,提供三种方式。字符模式把整段文字逐个字符首尾颠倒,「abc」变「cba」;单词模式保留每行的字符本身不动,只调转行内以空格分隔的单词顺序,「hello world」变「world hello」;行模式不碰行内内容,只把多行文本的行序整体倒排。日常遇到一列顺序刚好反了的数据、或者想临时做倒序文本又不值得专门写脚本时,选好模式点一下就能拿到结果,省去手工一个个挪的功夫。

背后最容易踩坑的是字符串反转的实现。JavaScript 里最常见的写法是 split('').reverse().join(''),但 split('') 按 UTF-16 码元切分,会把 emoji、扩展区生僻汉字这类需要代理对(surrogate pair)表示的字符劈成两半,反转后变成乱码。这个工具改用 Array.from 先按 Unicode 码点切分再反转,从码点层面绕开了这个问题。行模式和单词模式则分别用 \r?\n 和 \s+ 做切分:行模式按换行拆开再倒序,单词模式对每行按空白拆词、倒序后用单个空格重新拼接。全程在浏览器本地运行,文本不上传。

最常用得上的是那种临时、又不值得专门开编辑器的小活。比如从后台导出的一列 ID 顺序正好是反的,粘进来用字符或行模式倒一下就能和原始清单对上;或者做镜像文字、趣味文案,把一整句话字符反排后贴出去。行模式在处理日志、清单这类按行组织的数据时顺手,一份按时间正序记录的内容想临时看成倒序、又不想导进工具排序,直接反转行序即可。单词模式则用来调转以空格分词的短语顺序,或快速验证一段以空格为界的分词结果。

有几处边界值得注意。单词模式按空格切分,中文词与词之间不带空格,一整行会被当成一个「单词」,倒序后看不出变化,这是预期行为而非 bug,想做中文的文字倒序请改用字符模式。字符模式反转多行文本时,换行符本身也算字符会一起参与倒排,整块文本会彻底翻转、行的先后也跟着颠倒,若只想倒行序应选行模式。另外 Array.from 解决的是代理对层面的拆分,但由多个码点组合成的字形——带肤色修饰符或用 ZWJ 连接的组合 emoji、带组合附加符号的字符——在字符反转时仍可能次序错乱,这是 Unicode 字形簇(grapheme cluster)与单个码点不等价所致。最后它只做纯文本层面的倒序,并不理解数据结构,反转 JSONBase64 会打乱其格式,结果通常不再合法。

文本反转是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“文本反转”、“字符串反转”、“倒序文本”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

单词模式反转中文为什么没有变化?
单词模式是按空格切分再倒序的,中文行内通常没有空格,整行会被当成一个单词,反转后自然和原文一样。想做中文的逐字倒序,请切换到字符模式。
反转带 emoji 或生僻字的文本会不会变乱码?
单个 emoji 和扩展区的生僻汉字用 Array.from 按 Unicode 码点处理,不会被拆坏。但由多个码点组合成的 emoji(比如带肤色修饰符或 ZWJ 连接的组合表情),在字符反转时可能出现内部次序错乱。
能用它反转 JSON 或 Base64 字符串吗?
能反转,但字符反转会打乱 JSON 的结构和 Base64 的编码顺序,结果通常不再是合法的 JSON 或可正确解码的 Base64。这个工具只做纯文本层面的倒序,并不理解数据格式。
字符模式反转多行文本,换行符会怎样?
字符模式把整段文本连同换行符一起逐字倒排,所以多行内容会被彻底翻转,行的先后顺序也跟着颠倒。如果只想把行序倒过来、行内内容保持不变,请改用「按行反转」。
「按行反转」和文本排序的倒序有什么区别?
按行反转只是把现有行序原样翻转,末行变首行,不看内容;文本排序的倒序是按字典序等规则重新排列。想「原样倒过来」用本工具,想按内容规则排序则用文本排序工具。

相关工具

查看全部「文本处理」工具 →