反转文本
按字符、单词或行反转
为什么支持Unicode的反转并不简单?
简单地按字符索引反转字符串会破坏emoji和组合字符:👨👩👧(一个家庭emoji)实际上是由四个代码点通过零宽连接符连接而成的,而一个旗帜emoji是两个区域指示符代码点。使用`.split('')`进行分割并反转会导致这些部分被打乱。
此工具按 Unicode 代码点反转,因此带重音的字符和大多数文本得以保留;多代码点表情符号(ZWJ 序列、国旗)可能会分开。适用于拼图创建、文本效果或单纯的好奇心。
使用场景
- 测试回文构思——反转一句话看看是否前后一致。
- 词谜准备——为填字游戏或单词搜索生成线索答案。
- 魔术 / 心灵感应剧本——预先写好「读心」的反转结尾,匹配观众输入。
- 调试 Unicode 渲染——反转 LTR/RTL 混合字符串,看渲染器的方向处理。
示例
| 输入 | 结果 |
|---|---|
| Hello World | dlroW olleH |
| Café 👨👩👧 | 👨👩👧 éfaC |
常见问题
反转是支持Unicode的吗?
反转是按 Unicode 代码点进行的,因此带重音的字母和大多数字符得以保留。多代码点表情符号——ZWJ 序列,如家庭图标和肤色修饰符——会被分割成各个部分,因此它们不一定会保持完整。
行间断会被保留吗?
是的 — 但与其他内容一起反转顺序。输入的第一行变为输出的最后一行(其字符也被反转)。
有长度限制吗?
仅受浏览器内存限制。反转在单次传递中完成,可以处理数兆字节的文本而没有问题。
它适用于从右到左的脚本吗?
双向文本(阿拉伯语、希伯来语)按字符逐个反转,这通常不是您想要的效果 — 视觉结果取决于您浏览器的双向算法。
该工具是离线的吗?
一旦页面加载,是的 — 在反转过程中不会进行网络调用。
