LogoSymbolDb
零宽空格
U+200B
零宽连接符
U+200D
零宽非连接符
U+200C
左到右标记
U+200E
右到左标记
U+200F
零宽不换行空格/BOM
U+FEFF
普通空格
U+0020
 
不间断空格
U+00A0
 
宽空格
U+2000
EM宽空格
U+2001
EN空格
U+2002
EM空格
U+2003
三格EM空格
U+2004
四格EM空格
U+2005
六格EM空格
U+2006
图形空格
U+2007
标点空格
U+2008
薄空格
U+2009
发丝空格
U+200A
窄不间断空格
U+202F
数学空格
U+205F
 
表意空格
U+3000
制表符
U+0009
换行符(LF)
U+000A
回车符(CR)
U+000D

🔍 关于隐藏字符

收录25个隐藏字符(零宽字符、特殊空格、控制字符),提供Unicode编码、HTML实体及详细用法说明

隐藏字符是指在文本中不可见或难以察觉的Unicode字符,包括零宽字符、各种特殊空格、控制字符等。它们虽然不显示任何可见图形,但对文本处理、数据验证、社交平台发文、编程调试等场景有重要影响。例如,零宽连接符(ZWJ)用于控制表情符号的显示方式;零宽空格可用于在单词间添加不可见的分隔;不间断空格(NO-BREAK SPACE)可防止自动换行。本页面收录了最常见的隐藏字符,每个符号都提供完整的技术参数和详细解释,帮助你识别、理解和使用这些“看不见”的字符。

🔄 零宽字符系列

​ (零宽空格) 叫做零宽空格(Zero Width Space),Unicode为U+200B,HTML实体为​,URL编码为%E2%80%8B,Java/JavaScript表示为"\u200B"。零宽空格是一个不可见的字符,不占据任何显示宽度,常用于在单词之间添加不可见的分隔点。例如,在编程中可以用它来绕过某些输入验证,或在社交媒体上创建不可见的内容。注意事项:这个字符在文本编辑器中通常不可见,但在代码审查时可能造成困惑。

‍ (零宽连接符) 叫做零宽连接符(Zero Width Joiner, ZWJ),Unicode为U+200D,HTML实体为‍,URL编码为%E2%80%8D,Java表示为"\u200D"。ZWJ是一个非常强大的符号,它用于连接两个表情符号或字符,使它们显示为一个组合表情。最著名的例子是👨‍👩‍👧‍👦(家庭表情),就是由多个表情通过ZWJ连接而成。注意事项:是否支持组合显示取决于操作系统和字体,不支持时可能会显示为多个独立表情。

‌ (零宽非连接符) 叫做零宽非连接符(Zero Width Non-Joiner, ZWNJ),Unicode为U+200C,HTML实体为‌,URL编码为%E2%80%8C,Java表示为"\u200C"。ZWNJ的作用与ZWJ相反,它用于阻止本应连写的字符产生连接。在波斯语、阿拉伯语等文字系统中特别重要,用于控制字符的连写行为。注意事项:在普通文本中很少用到,但在某些排版场景中必不可少。

‎ (左到右标记) 叫做左到右标记(Left-to-Right Mark, LRM),Unicode为U+200E,HTML实体为‎,URL编码为%E2%80%8E。这个不可见字符用于影响文本的方向性,强制将后续文本从左到右排列。常用于混合方向性文本(如阿拉伯语和英语混合)的排版。注意事项:不会产生可见字符,只影响文本排列方向。

‏ (右到左标记) 叫做右到左标记(Right-to-Left Mark, RLM),Unicode为U+200F,HTML实体为‏,URL编码为%E2%80%8F。与LRM相反,这个字符强制后续文本从右到左排列,用于阿拉伯语、希伯来语等从右向左书写的语言环境。

␣ 特殊空格系列

(普通空格) 叫做普通空格(SPACE),Unicode为U+0020,HTML实体为 或直接使用空格,URL编码为%20。这是最常见的空格字符,在英语句子中用于分隔单词。LaTeX命令为\ (反斜杠后跟空格)。注意事项:HTML中连续多个普通空格会被浏览器合并为一个,如需保留多个空格应使用 

  (不间断空格) 叫做不间断空格(NO-BREAK SPACE, NBSP),Unicode为U+00A0,HTML实体为  ,URL编码为%C2%A0,LaTeX命令为~。不间断空格的独特之处在于:它强制其两边的文本不会在此处换行。常用于数字和单位之间(如“10 km”)、人名和头衔之间等需要保持在同一行的场景。注意事项:在HTML中不会被合并,可通过多次使用来添加多个连续空格。

  (宽空格) 叫做宽空格(EN QUAD),Unicode为U+2000,HTML实体为 。EN QUAD是一个宽度为1 en的空白字符(en是字体中字母“n”的宽度)。常用于排版中对齐和微调间距。注意事项:与普通空格不同,它的宽度是固定的,与字体相关。

  (EM宽空格) 叫做EM宽空格(EM QUAD),Unicode为U+2001,HTML实体 。EM QUAD的宽度为1 em(em是字体中字母“M”的宽度),约等于当前字号的宽度。常用于创建较大的空白间隔。

  (EN空格) 叫做EN空格(EN SPACE),Unicode为U+2002,HTML实体 。宽度为普通空格的两倍(half an em),常用于数字分组或特殊排版的缩进。

  (EM空格) 叫做EM空格(EM SPACE),Unicode为U+2003,HTML实体 。宽度等于当前字体大小,是最常见的固定宽度空格之一,常用于段落首行缩进或表格对齐。

  (三格EM空格) 叫做三格EM空格(THREE-PER-EM SPACE),Unicode为U+2004,HTML实体 。宽度为EM空格的1/3,常用于精细排版中的微调。

  (四格EM空格) 叫做四格EM空格(FOUR-PER-EM SPACE),Unicode为U+2005,HTML实体 。宽度为EM空格的1/4,常用于数学公式或中文排版中的细间距。

  (六格EM空格) 叫做六格EM空格(SIX-PER-EM SPACE),Unicode为U+2006,HTML实体 。宽度为EM空格的1/6,非常细小的间距字符。

  (窄不间断空格) 叫做窄不间断空格(NARROW NO-BREAK SPACE),Unicode为U+202F,HTML实体 。这个字符结合了窄宽度和不间断特性,常用于法语中冒号前的空格、俄语数字分组等场景。注意事项:比普通的NBSP更窄,但同样不会断行。

  (数学空格) 叫做数学空格(MEDIUM MATHEMATICAL SPACE),Unicode为U+205F,HTML实体 。专门用于数学排版中的间距控制,宽度为4/18 em。

  (表意空格) 叫做表意空格(IDEOGRAPHIC SPACE),Unicode为U+3000,HTML实体 。宽度等于一个汉字,用于中文、日文、韩文等表意文字的排版,相当于一个全角空格。

🖨️ 控制字符系列

(制表符) 叫做制表符(TABULATION),Unicode为U+0009,HTML实体	,URL编码为%09。制表符用于在文本中创建对齐的列,常用于编程中的代码缩进或纯文本表格。注意事项:不同编辑器的制表符宽度可能不同(通常为4或8个空格)。

(换行符) 叫做换行符(Line Feed, LF),Unicode为U+000A,HTML实体
,URL编码为%0A。在Unix/Linux/macOS系统中表示换行。注意事项:Windows系统使用CR+LF(回车+换行)作为换行符,这是跨平台文本处理时常见的问题根源。

(回车符) 叫做回车符(Carriage Return, CR),Unicode为U+000D,HTML实体
,URL编码为%0D。在Windows系统中与换行符配合使用(CR+LF)。注意事项:单独使用CR在Mac OS 9及更早版本中表示换行。

📌 隐藏字符使用注意事项

第一,零宽字符在普通文本编辑器中不可见,可能导致代码审查、文本分析时产生意外结果。第二,特殊空格(如EN SPACE、EM SPACE)与普通空格视觉相同但宽度不同,在排版中需注意区分。第三,不间断空格(NBSP)常用于网页开发,防止数字与单位之间意外换行。第四条中,零宽连接符(ZWJ)控制的组合表情在不同平台显示效果差异较大,使用时需做兼容性测试。第五,控制字符(如制表符、换行符)在跨平台文件传输时可能引起格式混乱,建议使用统一的行尾格式。第六,在数据清洗或输入验证时,隐藏字符可能造成验证绕过,需要特别处理。第七,复制本页面隐藏字符时,可点击卡片获取实际字符的Unicode编码及各种编程表示法。

💡 使用提示

点击任意隐藏字符卡片即可弹出详情面板,您可以一键复制该字符(部分不可见)、Unicode编码、HTML实体、URL编码、Java/JavaScript字符串表示,还可以生成SVG源码或下载透明背景PNG图片。对于看不见的字符,建议使用查看器工具或直接复制编码值。如果您在编程、网页开发或文本处理中遇到奇怪的空白或不可见问题,可以使用本页面反向查找对应字符。如果是需要防止用户绕过输入验证,请注意检测上述零宽字符。对于排版和设计工作正确使用特殊空格能极大提升视觉效果。

❓ 常见问题 · 隐藏字符识别与处理

快速掌握隐藏字符的检测方法、删除技巧与常见应用

🔍 如何检测文本中的隐藏字符?
① 使用专业文本编辑器(如VS Code、Notepad++)开启“显示所有字符”功能。② 在线工具:复制文本到Unicode字符检测网站。③ 编程方式:Python中使用repr(text)或正则表达式re.findall(r'[\u200b-\u200f]', text)。④ 使用本页面逐个复制可疑字符进行比对。
🗑️ 如何删除隐藏字符?
正则表达式是最有效的方法:text.replace(/[\u200B-\u200D\uFEFF]/g, '') 可删除零宽字符;text.replace(/\s/g, '') 可删除所有空白符(谨慎使用)。某些文本编辑器支持查找替换,将Unicode编码作为查找目标。
📱 零宽字符有什么用?
① 创建组合表情(如家庭表情👨‍👩‍👧‍👦)。② 在文本中添加“隐形水印”实现版权保护。③ 绕过某些平台敏感词过滤(不推荐)。④ 编程中用于创建不可见的变量名或特殊标识符。
🔧 特殊空格和普通空格有什么区别?
普通空格(U+0020)宽度可变,HTML中会合并;不间断空格(U+00A0)不会换行;EN空格(U+2002)宽度固定为普通空格的两倍;EM空格(U+2003)宽度等于当前字号;表意空格(U+3000)宽度等于一个汉字。排版场景应根据需求选择。
💻 Windows换行符为什么是CR+LF?
历史原因:早期电传打字机需要两个动作——回车(CR)将打印头移到行首,换行(LF)将纸张向上移动一行。Windows继承了这一传统,而Unix/Linux只用LF作为换行符,导致跨平台文本格式问题。
⚠️ 隐藏字符有哪些安全隐患?
① 代码注入:攻击者可在代码中插入不可见字符绕过审查。② 社交工程:伪造域名或用户名(如“apple.com”插入零宽字符变成“app le.com”)。③ 版权水印被滥用。④ 输入验证绕过(如SQL注入中使用零宽字符分割关键字)。建议对用户输入进行严格过滤。