火星文转换

中文↔火星文

419 次访问

火星文转换器

示例:
输入0 字符
输出0 字符

关于火星文

· 起源:2000 年代中后期 QQ 聊天 / 百度贴吧 / QQ 空间盛行,以异体字、繁体字、罕用同音字、生僻偏旁等替代常用字

· 代表风格:你→伱/妳 · 的→哋/嘀 · 是→昰/媞 · 们→們 · 好→恏/哠 · 一→壹

· 技术原理:利用 Unicode 收录了大量异体字 / 生僻字 / 古汉字,多数现代字体能正确显示

· 用途:怀旧 / 头像签名 / 趣味聊天 / 防关键词审查(早期论坛常用)

· 逆向:火星文→中文 是有损的,部分字无对应映射会保留原样

关于本工具

了解工具定位 · 使用场景 · 对比优势

输入中文或火星文,一键完成双向转换。社交媒体用户发隐藏消息、游戏玩家取特殊昵称、内容创作者做趣味排版时,直接粘贴文本即可。所有转换在浏览器内完成,原文不上传服务器。

使用场景

🎭

社交平台整活

年轻用户在微博 / 朋友圈 / 抖音评论区想用火星文发一句「我裂开了」来制造幽默效果,但手动逐字转换费时且容易出错。本工具一键将中文转为火星文(如「硪裂閞ㄋ」),还支持反向还原,方便对方看不懂时秒切回正常文字,让整活过程零卡顿。

💬

群聊匿名防搜

游戏公会 / 粉丝群里讨论敏感话题(如某主播黑料、内部梗),直接用中文容易被关键词搜索截屏。把关键句转成火星文发在群里,群友用工具反向还原即可看懂,外人搜不到原文,实现低门槛的「群内加密」——比用 base64 更亲民,比用暗号更灵活。

🎮

游戏ID防撞名

玩家注册《王者荣耀》《原神》等游戏时,喜欢的昵称被占用。把想要的 ID(如「暴走萝莉」)转成火星文「暴赱蕗莉」,既保留原意又保证唯一性,且游戏内显示无乱码。本工具支持多次随机变体,一次生成多个候选,省去反复试注册的麻烦。

📝

网文马甲签名

同人写手在 Lofter / 晋江评论区用火星文落款,既能留下个人标记(如「柒仴的猫→柒仴の貓」),又避免被路人直接复制 ID 去抄袭。本工具支持「仅转换某几个字」的灵活模式,让签名既特别又不至于完全无法辨认。

🔐

临时密码备忘

用户需要把临时 WiFi 密码 / 快递取件码发给家人,但担心聊天记录被偷窥。把「A123456」转成火星文「A①②③④⑤⑥」(全角数字 + 特殊符号),对方收到后用本工具反向还原即可。相比截图更安全,相比语音更不易被监听。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具竞品 A(火星文转换器)传统方法(手动输入)
数据隐私纯浏览器,零上传上传到服务器处理完全本地,但依赖人工操作
处理速度1 秒内3-5 秒(含网络延迟)数分钟(逐字替换)
离线可用支持(完全本地运行)不支持(需联网)支持(无需工具)
大小限制无限制(浏览器内存上限)通常限制 5000 字符无限制(但耗时随长度线性增长)
转换准确度100% 符号映射(无歧义)100% 符号映射依赖人工记忆,易出错
平台依赖任何现代浏览器需访问特定网站无需外部工具
批量处理支持(直接粘贴长文本)支持(有长度限制)不支持(逐字操作)

使用指南

上手步骤 · 输入输出 · 避坑提示

使用步骤

  1. 在左侧输入框中粘贴或输入中文文本,支持简体/繁体
  2. 点击「转火星文」按钮,右侧即时显示转换结果
  3. 如需还原,将火星文粘贴到左侧输入框,点击「转中文」按钮
  4. 点击「复制结果」按钮,将转换后的文本复制到剪贴板

输入输出示例8 个典型场景,覆盖常规、边界与易错

输入输出说明
你好世界沵恏迣鎅典型场景:中文转火星文(全角符号)
沵恏迣鎅你好世界典型场景:火星文转回中文
我爱你涐嫒沵典型场景:常用情感短句转换
123abc123abc边界 case:数字和英文字母不转换
边界 case:纯空格输入原样返回
!@#¥%!@#¥%边界 case:标点符号不转换
你好,世界!沵恏,迣鎅!易错 case:标点保留,仅转换汉字
中国фпйё典型场景:双音节词转换

常见错误对照7 个常踩的坑 · 错误 → 修复

1. 把标点符号也转成火星文

错误
我?你?他?
修复
我 你 他

火星文转换只处理汉字字符,标点符号、空格、数字、英文字母保持原样。带标点输入会让结果看起来杂乱,因为标点不会被转换但会保留在对应位置。

2. 混合繁体简体导致部分字符未转换

错误
我愛你(繁体「愛」)
修复
我爱你(简体「爱」)

火星文转换算法基于简体汉字编码映射,繁体字(如「愛」「為」「體」)不在映射表中,会原样输出。建议先转简体再转火星文。

3. 输入过长文本导致浏览器卡顿

错误
粘贴一篇 5000 字的小说
修复
分段输入,每次不超过 1000 字

火星文转换在浏览器端实时处理(FE 实现),长文本会逐字替换,超过 2000 字可能造成界面短暂无响应。分段处理更流畅。

4. 把火星文结果直接当密码用

错误
将火星文结果作为密码保存
修复
火星文结果仅用于娱乐展示,不要用于密码或验证码

火星文转换是确定性的可逆映射(每个汉字对应唯一火星文字符),且映射表公开,任何人都能反向解码。用作密码等于明文。

5. 误以为火星文是加密或编码

错误
用火星文传输敏感信息
修复
火星文只适合公开内容展示(如昵称、签名、弹幕)

火星文是字形替换(类似用「囧」替换「囧」),不是加密算法。映射表固定且可逆,没有任何保密性。

6. 输入包含生僻汉字

错误
输入「𪚥」(四个龍,Unicode U+2A6A5)
修复
使用常用汉字(GB2312 字库内的汉字)

火星文映射表仅覆盖常用汉字(约 6763 个 GB2312 汉字)。生僻字、扩展区汉字不在映射表中,会原样输出不转换。

7. 混淆火星文与颜文字

错误
输入「(。ŏ_ŏ)」期望被转换
修复
火星文只转换汉字,不处理 ASCII 艺术或颜文字

颜文字是符号组合(如 (╯°□°)╯︵ ┻━┻),火星文是汉字字形替换。两者是完全不同的概念,工具只处理汉字。

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

C = f(T, R, S)

变量说明

  • C — 转换后的火星文字符串
  • T — 原始输入文本(中文或火星文)
  • R — 转换规则集(如偏旁替换、同音替换)
  • S — 转换方向(中文→火星文 或 火星文→中文)

示例

输入中文句子「你好世界」,应用规则集 R(包含「你→伱」「好→恏」「世→丗」「界→堺」等偏旁替换规则),方向 S 为中文→火星文。逐字映射后得到结果「伱恏丗堺」。

适用范围

适用于常见简体中文字符的偏旁/同音/象形替换,不适用于繁体字、标点符号、数字及英文。规则基于网络流行火星文约定,非正式语言标准。

原理图

输入中文或火星文字符映射表(本地 JS 查表替换)无网络请求展示结果实时预览点击“复制”剪贴板 API(navigator.clipboard)粘贴到目标(QQ / 微信 / 论坛)所有转换均在浏览器内完成,文字不离开本地设备
用户操作 本地处理(FE) 输出结果

开发者集成

3 种主流语言 · 复制即用

import random

# 火星文字典(中文→火星文)
HUOXING_MAP = {
    '我': '偶', '你': '泥', '的': '滴', '是': '素',
    '了': '咯', '不': '8', '人': '淫', '大': '巨',
    '好': '壕', '有': '囿', '一': '1', '在': '哉',
    '和': '与', '就': '奏', '这': '介', '也': '吔',
    '吗': '嘛', '啊': '阿', '吧': '罢'
}

def to_huoxingwen(text: str) -> str:
    """中文→火星文"""
    result = []
    for ch in text:
        if ch in HUOXING_MAP:
            result.append(HUOXING_MAP[ch])
        else:
            # 未映射字符:随机加符号或保留
            if random.random() < 0.3:
                result.append(ch + random.choice(['~', '!', '@', '#']))
            else:
                result.append(ch)
    return ''.join(result)

def from_huoxingwen(text: str) -> str:
    """火星文→中文(反向映射)"""
    reverse_map = {v: k for k, v in HUOXING_MAP.items()}
    result = []
    i = 0
    while i < len(text):
        # 尝试匹配2字符(如'8'是单字符,但'奏'是单字符)
        if text[i] in reverse_map:
            result.append(reverse_map[text[i]])
            i += 1
        else:
            result.append(text[i])
            i += 1
    return ''.join(result)

# 示例
original = "你好,我是程序员"
encoded = to_huoxingwen(original)
decoded = from_huoxingwen(encoded)
print(f"原文: {original}")
print(f"火星文: {encoded}")
print(f"还原: {decoded}")
package main

import (
	"fmt"
	"math/rand"
	"strings"
)

// 火星文字典
var huoxingMap = map[rune]string{
	'我': "偶", '你': "泥", '的': "滴", '是': "素",
	'了': "咯", '不': "8", '人': "淫", '大': "巨",
	'好': "壕", '有': "囿", '一': "1", '在': "哉",
	'和': "与", '就': "奏", '这': "介", '也': "吔",
	'吗': "嘛", '啊': "阿", '吧': "罢",
}

// 构建反向映射
var reverseMap map[string]rune

func init() {
	reverseMap = make(map[string]rune)
	for k, v := range huoxingMap {
		reverseMap[v] = k
	}
}

func toHuoxingwen(text string) string {
	var builder strings.Builder
	symbols := []string{"~", "!", "@", "#"}
	for _, ch := range text {
		if val, ok := huoxingMap[ch]; ok {
			builder.WriteString(val)
		} else {
			// 30%概率加符号
			if rand.Float64() < 0.3 {
				builder.WriteRune(ch)
				builder.WriteString(symbols[rand.Intn(len(symbols))])
			} else {
				builder.WriteRune(ch)
			}
		}
	}
	return builder.String()
}

func fromHuoxingwen(text string) string {
	var builder strings.Builder
	for _, ch := range text {
		if val, ok := reverseMap[string(ch)]; ok {
			builder.WriteRune(val)
		} else {
			builder.WriteRune(ch)
		}
	}
	return builder.String()
}

func main() {
	original := "你好,我是程序员"
	encoded := toHuoxingwen(original)
	decoded := fromHuoxingwen(encoded)
	fmt.Printf("原文: %s\n", original)
	fmt.Printf("火星文: %s\n", encoded)
	fmt.Printf("还原: %s\n", decoded)
}
// 火星文字典
const HUOXING_MAP = {
    '我': '偶', '你': '泥', '的': '滴', '是': '素',
    '了': '咯', '不': '8', '人': '淫', '大': '巨',
    '好': '壕', '有': '囿', '一': '1', '在': '哉',
    '和': '与', '就': '奏', '这': '介', '也': '吔',
    '吗': '嘛', '啊': '阿', '吧': '罢'
};

// 反向映射
const REVERSE_MAP = Object.fromEntries(
    Object.entries(HUOXING_MAP).map(([k, v]) => [v, k])
);

function toHuoxingwen(text) {
    const symbols = ['~', '!', '@', '#'];
    return Array.from(text).map(ch => {
        if (HUOXING_MAP[ch]) {
            return HUOXING_MAP[ch];
        }
        // 30%概率加符号
        if (Math.random() < 0.3) {
            return ch + symbols[Math.floor(Math.random() * symbols.length)];
        }
        return ch;
    }).join('');
}

function fromHuoxingwen(text) {
    return Array.from(text).map(ch => {
        return REVERSE_MAP[ch] || ch;
    }).join('');
}

// 示例
const original = '你好,我是程序员';
const encoded = toHuoxingwen(original);
const decoded = fromHuoxingwen(encoded);
console.log('原文:', original);
console.log('火星文:', encoded);
console.log('还原:', decoded);

常见问题

8 个高频疑问

火星文转换怎么用?是把普通文字直接粘贴进去就行了吗?
对。在输入框里直接粘贴或键入普通中文(或火星文),工具会实时或点击按钮后转换。火星文通常是用特殊符号、偏旁部首、数字、英文等替换汉字,比如「我」变成「ωǒ」或「涐」。本工具内置了常见映射规则,输入后点击“转换”即可看到对应结果。如果输入的是火星文,选择“火星文→中文”模式即可还原。注意:火星文没有统一标准,不同工具或人群的写法可能不同,转换结果可能存在偏差。
为什么我转换出来的火星文跟别人发我的不一样?是不是工具不准?
火星文没有国家标准,不同工具、不同网络群体使用的替换规则差异很大。例如「爱」可以写成「ai」「àì」「薆」「噯」等多种形式。本工具采用了一套较通用的映射规则(如偏旁替换+形近字+同音字),但可能与你收到的特定版本不一致。如果需要精确还原某段火星文,建议将原文粘贴到“火星文→中文”模式下查看基础映射,再手动调整个别字符。
这个工具是免费的吗?有没有字数限制?
完全免费,无字数限制。转换过程在浏览器端完成,不消耗服务器资源,所以不会按字数收费或限制单次输入长度。但注意:输入过长(比如超过1万字)时,页面渲染可能会稍有延迟,这是浏览器性能问题,工具本身没有设限。如果遇到卡顿,可以分批次转换。
工具会保存我输入的内容吗?隐私安全吗?
不会保存。所有转换逻辑都在你的浏览器中执行,输入的文字不会上传到任何服务器。关闭页面后,输入框和结果数据即从内存清除。如果不放心,可以在断网状态下测试——工具仍然能正常工作(因为不需要联网请求)。建议不要输入敏感个人信息(如密码、身份证号),虽然工具不保存,但浏览器历史记录或截图可能留下痕迹。
火星文转换后能用在哪些地方?游戏昵称、网名、签名都行吗?
可以。火星文最早流行于QQ空间、贴吧、游戏聊天室,现在仍常用于游戏昵称、社交账号签名、非主流文案等。转换后的字符大多是Unicode符号(如特殊括号、日文假名、希腊字母),大部分网站和游戏都能正常显示。但少数老旧系统或游戏可能不支持某些特殊字符(如「〆」「の」),导致显示为方框或乱码。建议在目标平台先粘贴预览一下,如果不显示再换一组符号。
我想把火星文还原成正常中文,但工具还原出来有些字不对,怎么办?
火星文还原比转换更难,因为一个火星文字符可能对应多个汉字。例如「涐」可能是「我」的异体,也可能是「哦」的误写。本工具还原时会优先匹配常用映射,但遇到歧义时只能给出最可能的结果。如果还原结果不对,可以手动将火星文中的特殊符号(如「ω」「の」「‰」)单独选中,在工具里逐字查询映射表。部分工具还支持“逐字对照”模式,能显示每个火星字符对应的候选汉字列表。
手机浏览器上能用吗?跟电脑版功能一样吗?
能用,功能完全一致。因为工具是纯前端实现,不依赖操作系统或浏览器类型。在手机浏览器(微信内置浏览器、Chrome、Safari等)上打开页面,输入框和转换按钮会自动适配屏幕宽度。注意:手机输入法切换中英文或符号时可能稍麻烦,建议先输入完整文本再一键转换。如果结果文字太小,可以双指缩放页面查看。
为什么我输入的数字和英文也被转换了?能不能只转换中文部分?
默认规则会将数字和英文也替换为形近符号,比如「A」变成「Д」(西里尔字母)或「4」变成「ㄙ」。如果只想转换中文,可以在输入前手动保留数字和英文(工具通常不会自动识别语言范围)。部分工具提供“仅转换中文”的开关,如果没有,建议先转换中文部分,再手动补回数字和英文原样。如果已经转换了,可以用“火星文→中文”模式还原数字和英文部分,再单独处理中文。
选择 打开 +新窗口 esc关闭