跳到主内容
UniKit

文本反转

把文本按字符、按词、按行或每行内反转,正确处理 emoji 代理对与组合字符(é 的 e + 组合符号算一个字符),不会把字符拆成乱码。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

原始文本
反转方式

反转结果

按字符反转时,emoji、组合字符与全角字符都各自算一个字符。

输入文本后立即显示反转结果。

这个工具能做什么

  • 写藏头诗、反转文字游戏或验证「反转后是否相等」的回文时,按字符反转中文与英文混排的句子。
  • 调试字符串处理逻辑:确认 emoji(👍🏽)和带声调的字母(é)反转后仍然完整,而不是变成两个问号。
  • 把列表按行倒序,例如把时间倒序的日志整理成正序,再贴回文件。
  • 每一行内部反转,快速造出对照文本,检查编码或字体渲染是否正常。

示例

输入

Hello 世界 👋

输出

👋 界世 olleH

按字符反转:emoji 是代理对,会被当成一个字符整体移动,所以不会出现半个码元导致的乱码。

常见问题

为什么普通 JS 反转 emoji 会乱码?

JavaScript 字符串是 UTF-16 编码,emoji(如 👋)由两个码元组成,按码元反转会把代理对拆开,得到两个无法显示的字符。本工具按 Unicode 字形簇反转,代理对、肤色修饰符和 ZWJ 连字都整体移动。

é 会变成一个 e 加一个撇吗?

不会。é 有两种写法:预组合的单码点 U+00E9,以及 e + U+0301 组合符号。两种写法都会被视为一个字形簇,反转后保持原样。

按词反转时空格会怎么处理?

词的位置互换,空白保持原位。例如 one two three 会得到 three two one——中间的双空格仍然出现在原来的位置,不会跟着词一起搬走。

按行反转会保留 CRLF 吗?

行序会倒过来,换行符统一输出为 LF。如果原文件必须是 CRLF,可以用「文本清理」工具把结果再转回 CRLF。

支持多长的文本?

浏览器本地处理,几十万字符的文本也能即时完成。反转本身不做任何联网或存储,文本不会离开浏览器。

关键词:reverse textreverse stringreverse linesreverse wordsemoji reverse文本反转字符串反转按行倒序倒序排列emoji 反转

同类工具