带圈数字①到⑳全解析:从Unicode到Word/Excel批量生成
2026/9/23 21:55:32 网站建设 项目流程

上次帮同事整理一份设备操作手册,总共20个操作步骤。他一开始用了“①②③”这种编号,觉得比“(1)(2)(3)”好看很多。但打到⑩以后就卡住了,于是改用Word的“带圈字符”功能硬拼,结果打印出来圈的粗细不一样,十几的编号有的圈是椭圆的,有的数字还跑到了圈外面。我一看就知道,这不是手速问题,是没搞懂带圈数字在底层到底是个什么东西。

先给结论:带圈数字看着简单,其实牵扯到字符编码、字体覆盖、输入法、排版工具、打印渲染,每一层都可能翻车。这篇文章我就把“带圆圈的数字序号”这件事从头到尾讲透,包括它的Unicode码位、各种输入姿势、在Word和Excel里的批量生成方案、超过⑳之后的处理思路,以及我在实际文档、表格、公众号排版里踩过的坑。适合文案、运营、HR、产品经理,还有所有要写SOP、合同、培训材料的人。

1. 先把带圈数字的“出身”搞清楚:字符编码与Unicode全谱

很多人以为①就是一个“汉字符号”,或者干脆当成一张图片。实际上它不是图片,它是一个独立的Unicode字符。Unicode里专门有一个区段叫“封闭式字母数字”(Enclosed Alphanumerics),码位范围是U+2460到U+24FF,专门存放各种圈起来的数字、字母和符号。

1.1 为什么同一个①在不同软件里长得不一样

这就要从字符编码的两层结构说起了。Unicode干的活是“给每个字符一个唯一编号”,它不负责“这个字长什么样”。长得什么样,是字体文件的事。

举个例子:①这个字符,Unicode给它的编号是U+2460。你在Word里看到它,实际上是Word用宋体或微软雅黑里的字形把U+2460画了出来;你在iPhone上看到它,是iOS用苹方字体画了出来。数字都是同一个数字,但画法不同,字体不同,于是高矮胖瘦、圈线粗细全都不一样。

这也是很多人第一次遇到带圈数字翻车的原因:在自己电脑上明明是正常的圆圈,发给别人打开,或者转成PDF打印,突然变成方框“□”或者干脆消失。原因就是对方电脑里没有覆盖这个码位的字体,系统找不到能画的字形,只能显示成一个空方块。

1.2 各种圈圈家族的Unicode全谱

带圈数字不是一个孤立字符,它有一整个家族。平时大家用得最多的是①到⑳,它们在Unicode里的分布是:

显示效果码位十进制说明
① ~ ⑨U+2460 ~ U+24689312 ~ 9320最常见的1到9
U+24699321单字符的10
⑪ ~ ⑳U+246A ~ U+24739322 ~ 933111到20
U+24EA9450圆圈0,白底黑圈
⑴ ~ ⒇U+2474 ~ U+247F9332 ~ 9343带括号的数字
❶ ~ ❿U+2776 ~ U+277F10102 ~ 10111Dingbats区的黑底白圈数字
ⓐ ~ ⓩU+24D0 ~ U+24E99424 ~ 9449带圈字母

这里有个很关键的认知:Unicode只内置了①到⑳,没有②①、②②这种写法。也就是说,你想用“带圆圈数字序号”表示第21步、第22步,在标准字符集里根本不存在对应字符。后面我会讲第5章,专门处理超过⑳以后的办法。

另外还要澄清一个误区:带括号数字⑴⑵⑶和带圈数字①②③不是一回事。前者是括号不是圆圈,码位从U+2474开始。有些输入法里你打“yi”出现的候选是⑴,不是①;虽然看起来差不多,但排版时对不齐、字体不覆盖的情况完全不同。而且带括号数字在中文排版里经常被当成半角字符处理,和中文标点混用时间距会很奇怪。

2. 六种输入带圈数字的方法,按场景选最省力的

带圈数字的输入方法很多,但每种都有它的适用场景。我按“省事程度”和“可控程度”列一下,你可以直接对号入座。

2.1 中文输入法:最省事,但翻页很烦

绝大多数中文输入法都内置了带圈数字。以搜狗输入法和微软拼音为例,直接输入“yi”“er”“san”这类拼音,翻几页就能在候选词里找到①②③。如果你需要输入①到⑩,这个办法最直接。

有个小技巧是打开输入法的“符号面板”或者“特殊符号”分类,里面通常有“数字序号”这一栏,①②③一直到⑩一次性列出来,鼠标点就行。比翻页快得多,也适合不熟悉输入法快捷键的人。

但输入法方案的局限也很明显:它只能输出Unicode里有的字符,也就是最多到⑳。想输入21以上的带圈数字,输入法直接没辙。另外,不同输入法候选里的序号风格还不一样,有的偏大、有的偏小,用之前最好先确认一下和正文字体配不配。

2.2 Word/WPS内置符号库:最正统,随时可查

如果你在写Word文档,不要跟输入法较劲,直接用Word的“插入→符号→其他符号”:

  • 在弹出的符号窗口中,把“子集”选为“带括号的字母数字”
  • 从①到⑳全部列在那里,双击即可插入
  • 插入后它能像普通文字一样被选中、改字体、改颜色

这个办法的好处是“所见即所得”,而且能直观看到当前字体对带圈数字的支持情况。如果某个带圈数字在符号窗口里显示成方框,说明当前字体不支持,换了它就行。

WPS的操作类似,但注意WPS的版本差异比较大,有的版本里子集名称叫“带括号的字母数字”,有的版本叫“封闭式字母数字”,搜的时候灵活一点。

2.3 Word里用Alt+X:程序员风格的码位直输

这个方法知道的人不多,但在Word里是效率最高的。

在Word中输入十六进制码位,然后立刻按Alt+X,就会自动转换成对应字符。比如:

  • 输入2460,按Alt+X,变成①
  • 输入2469,按Alt+X,变成⑩
  • 输入2473,按Alt+X,变成⑳

想输几个输几个,完全不需要打开符号窗口翻半天。再按一次Alt+X可以变回码位,方便检查和修改。

这个方法只适用于Word/WPS这类支持Alt+X的编辑器,在普通网页输入框、Excel单元格里不一定有效,Excel里还是老老实实用UNICHAR函数(见第4章)。

2.4 Windows Alt+数字小键盘:能行,但不推荐

使用Alt加数字小键盘输入十进制码位,是很多人听过的“万能输入法”。比如按住Alt,小键盘输入9312,松开后得到①。

说实话,这个方式在Win10/ Win11的很多软件里已经不稳定了。它依赖当前活动的代码页和输入法状态,经常按出来是乱码或者根本没反应。如果你电脑恰好支持,那它适合在非Word场景(比如网页后台)应急;如果不支持,别纠结,用别的方法更快。

2.5 Mac的字符检视器:图形化找符号

Mac用户在需要输入带圈数字时,可以直接调用系统自带的字符检视器:

  • 在几乎任何输入框内,按Ctrl + Command + 空格打开字符检视器
  • 搜索“带圈数字”或者“circled”
  • 双击即可插入

Mac这个方案的好处是全局通用,无论是聊天工具、网页后台还是办公软件,都能用。苹方字体对①到⑳的覆盖也比较齐全,显示效果普遍比Windows默认字体好看一些。

2.6 手机输入法:日常沟通够用

手机端的中文输入法(搜狗、百度、讯飞)通常也内置带圈数字,一般在符号面板的“序号”分类里。但手机端带圈数字的字体覆盖情况比较复杂,尤其是安卓机,不同厂商的定制系统对U+2460到U+2473支持差异很大,有的会显示成黑白风格,有的会显示成彩色Emoji风格。在手机上写日常文案问题不大,如果用在正式的发布内容里,建议发之前拿同事的手机预览一下。

3. 你看到的方框,别人看到的圆圈:字体覆盖与渲染差异

这一章是带圈数字最容易踩坑的部分,也是我帮同事排查了半天才搞明白的根因。

3.1 字符存在不等于字体有形状

前面说了,①是Unicode字符,但能不能显示出来,取决于字体。Windows下最常见的宋体、微软雅黑、黑体,通常都覆盖了U+2460到U+2473这20个字符,所以你在Word里看着一切正常。但一旦遇到以下场景,问题就来了:

  • 文档从Word转成PDF,选择了“最小化嵌入字体”或“仅嵌入所用字符”
  • 接收方电脑上没有安装原始字体,PDF阅读器用替代字体渲染
  • 某些西文字体(比如Arial、Calibri)根本不覆盖带圈数字,排版软件自动替换时找不到合适的东亚字体

结果就是对方看到方框、空白,或者一个莫名其妙的字体风格字符。

我还遇到过更隐蔽的情况:同事在WPS里做好了文档,用WPS自带的PDF转换导出,⑪⑫⑬这些在屏幕上正常;但客户打开PDF后,数字直接消失,只留下一个尴尬的空位。查到最后才发现是转PDF时字体子集化出了偏差,把带圈数字字形丢掉了。从那以后,我的习惯是:凡是发给外部人员的带圈数字文档,导出PDF后必然要肉眼检查一到两页。

3.2 Windows和macOS在渲染上的差异

Windows下的默认字体往往把①到⑳渲染成“线条一致、偏几何”的风格,圈的大小基本固定。macOS下苹方字体渲染出来的带圈数字,圈线更粗,风格更接近中文手写体。

这种差异在单机看的时候没问题,一旦文档要在Windows和Mac之间互传,就可能出现行高变化、基线不对齐、圈线粗细不一致的问题。如果你做的是对外模板、合同、PPT,建议在两种系统上都预览一遍。如果做不到,就选一个“中性”的方案:直接用图片或形状绘制带圈数字,彻底绕开字体差异。

3.3 网页和公众号里的“Emoji抢脸”问题

在网页和公众号排版里,带圈数字还有个特殊坑:某些平台会把U+2460-U+2473范围内的字符默认渲染成Emoji样式,而不是普通文字样式。

比如在iOS上,ⓐⓑ这类带圈字母会被部分系统版本强制渲染成Emoji风格,带上一圈“彩色描边”。数字①-⑳虽然大概率还是普通文字,但在Android的某些机型上,厂商字体里给这些码位配了Emoji字形,显示出来会变成一个“彩色圆圈数字”,和正文风格完全不搭。

如果你在做H5页面或公众号图文,想在特定位置稳定显示普通风格的带圈数字,可以用CSS强行指定字体栈,并且不要依赖系统默认字体:

.circled-number { font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; font-style: normal; font-feature-settings: normal; }

如果想彻底控制显示效果,更保险的做法是:网页里用border-radius画一个圆圈包住普通数字;公众号排版里用设计工具做成图片插入。这既绕开了字体覆盖问题,也绕开了Emoji抢脸问题,同时还可以任意指定颜色和大小,连①到⑳天生的“圈大小不一致”视觉毛病都一并解决了。

4. 在Word和Excel里批量生成序号的正解与误区

上一章讲的是“单个输入”和“显示问题”,这一章讲“批量生成”。很多人做20个步骤的SOP时,是从①一个个敲到⑳的,纯纯的体力活,还容易漏。实际上,Word和Excel都有专门的办法。

4.1 到底该用“静态字符”还是“自动编号”

这是我在审同事文档时最常提的一个问题。你要先想清楚这个文档是“一次性交付”还是“长期维护”。

  • 如果是打印一次就不再改的邀请函、活动流程表,直接用静态带圈数字字符,简单省事。
  • 如果是合同模板、设备SOP、培训手册这种隔三差五要加一步、删一步的内容,千万别用静态字符。一旦中间插入一条,后面所有编号都要手动改,这就是加班事故的源头。

长期维护的文档,用Word的“多级列表”或“自动编号”才是正解。做法是:

  1. 选中需要编号的段落
  2. 在“开始→段落→编号”中选择想要的编号样式
  3. Word自动为后续段落连续编号,中间插入新段落时编号自动顺延

但是注意:Word自带的编号样式里并没有“带圈数字”这个选项。如果你非要在自动编号里用①②③这种样式,可以选择“定义新编号格式”,然后在“编号格式”里粘贴一个①作为起始,再把编号样式选为“无”,这样能做出一个看起来是带圈数字、实际是自动编号的列表。

老实说,这个方案Word渲染得并不完美,圈的大小和位置经常对不齐。我的建议是:正文需要维护的列表,就直接用(1)(2)(3)或者1. 2. 3.,这类编号在Word自动编号里支持最完善;带圈数字留给不需要二次编辑的标题性内容。

4.2 在正文中间插入序号:SEQ域还是静态?

有些场景不是列表,而是在一段话中间引用步骤号,例如:“请确认第⑪步操作已完成,再进入第⑫步”。这种情况下,自动编号根本帮不上忙,因为编号只作用于段落开头。

想在正文中间实现“编号自动跟随”,理论上可以借助Word域代码,但实际操作非常繁琐,需要手工插入SEQ域,还要配合嵌套格式。我实话实说:对绝大多数人来说,在正文中间用静态带圈数字是最省心的。文档修改频率高的话,宁可把这类“第⑪步”改成“第11步”,也别为难自己。

如果你非要炫技,可以用Alt+F9打开域代码,插入{ SEQ }域,但想让域结果呈现“带圈字符”样式,需要额外嵌套字段开关,维护成本很高。我的经验是:域方案只适合做模板的极客用户,不适合普通办公场景。

4.3 Excel里用UNICHAR函数批量生成

Excel里如果想批量生成一列带圈数字,不要一个个打字,直接用UNICHAR函数。

=UNICHAR(9312 + ROW() - 1)

这个公式放在第1行,会返回①;下拉到第20行,会返回⑳。原理很简单:9312是①的Unicode十进制编码,每增加1行,码位加1,依次得到①到⑳。

如果想横向生成(比如放在A1到T1),把ROW()换成COLUMN()

=UNICHAR(9312 + COLUMN() - 1)

再补充两个实用变体:

  • 如果你想在编号后面加顿号,写成=UNICHAR(9312 + ROW() - 1) & "、",得到一个“①、”的完整编号文本。
  • 如果想控制只显示20个以内,可以加一个IF判断:
=IF(ROW()>20, "", UNICHAR(9312 + ROW() - 1))

注意两点。第一,UNICHAR函数是Excel 2013以后才有的,WPS表格里部分老版本不支持,如果报错,检查软件版本。第二,Excel里带圈数字的字体覆盖同样存在,换到不同电脑上打开表格前,最好把字体设置为微软雅黑或等线,减少替换风险。

5. 超过⑳怎么办:带圈字符、生成器与自绘方案的边界

前面反复提到一个硬限制:Unicode只内置到⑳。但真实场景里经常会出现21步、30步、甚至100步的编号需求。这里我把能用的办法按靠谱程度排个序。

5.1 Word的“带圈字符”功能:能用,但只解决一半问题

Word里选中一个数字(比如21),然后点“开始→带圈字符”,选择“增大圈号”或“缩小文字”,Word会生成一个“文字+圈”的组合图形。

我用这个功能做过两位数编号,效果说实话一般。圈的大小完全由Word自动计算,两位数时圈经常变成扁的,数字和圈之间还会出现奇怪的间距。加粗后圈线会变粗,但数字的粗细和圈又不完全匹配。

如果想微调,可以右键点击带圈字符,选择“切换域代码”,会看到类似这样的内容:

{eq \o\ac(○,21)}

你可以手动调整\s\up等开关参数,挪动数字位置、改变圈的大小。但这已经是手工调版了,文档里如果有几十个这样的编号,每一个都要单独调,效率很低,而且不同Word版本解析域代码的结果还不一样。

5.2 在线生成器:省心,但要注意图片格式和使用边界

网上有不少“带圆圈数字生成器”,可以输入任意数字,生成PNG图片或SVG图片。用法一般是:

  1. 输入需要的数字,比如21、35、99
  2. 选择圈的颜色、粗细、字号
  3. 下载生成的PNG/SVG图片

在这个场景下,我建议尽量下载SVG而不是PNG。SVG是矢量格式,放大到多大都不糊,打印成A3海报也没问题;PNG在屏幕上看着行,打印或放大后边缘容易发虚。

在线生成器生成的图片,本质上是图形,不是文字。放到Word、PPT里之后不能像普通文字一样被检索、被朗读、被复制。所以它只适合“视觉呈现”,不适合做需要编辑和检索的正式文档。

5.3 用形状和文本框手工画圈:PPT里的最优解

做PPT的时候,如果你要“第21步”这种编号,我的建议是干脆别用字符。直接在PPT里画:

  1. 插入一个正圆形(按住Shift画)
  2. 设置填充色和边框色
  3. 在形状里输入数字,设置字体和字号
  4. 如果需要批量生成,选中形状后按Ctrl+D拖动复制,再改数字

这个方案的优点是彻底自由:圈的颜色、大小、数字的字体、颜色都完全可控,而且不依赖任何字体里有没有带圈数字。缺点是如果编号数量多,手动改数字比较费时间,适合PPT这种页数有限、注重美观的场合。

5.4 用Python批量生成:给需要大量序号的人

如果你需要给SEO词表、售货单号、培训证书编号生成大量带圈数字图片,或者想要一个直接可控的“造数”脚本,用Python的Pillow库最省心。

from PIL import Image, ImageDraw, ImageFont def make_circle_number(number: int, output: str, size: int = 256): img = Image.new("RGBA", (size, size), (0, 0, 0, 0)) draw = ImageDraw.Draw(img) margin = size // 12 draw.ellipse((margin, margin, size - margin, size - margin), outline="black", width=size // 16) font = ImageFont.truetype("msyh.ttc", int(size * 0.4)) text = str(number) bbox = draw.textbbox((0, 0), text, font=font) tw, th = bbox[2] - bbox[0], bbox[3] - bbox[1] x = (size - tw) / 2 - bbox[0] y = (size - th) / 2 - bbox[1] draw.text((x, y), text, font=font, fill="black") img.save(output) # 批量生成1到30的带圈数字图片 for i in range(1, 31): make_circle_number(i, f"circle_{i}.png")

注意里面用到了textbbox来计算文字的实际尺寸,实现水平和垂直居中。如果你的Pillow版本较老,没有textbbox,可以用draw.textsize(text, font=font)代替,但后者在新版本里已经废弃了。

这个脚本生成的是透明背景PNG,可以直接拖进Word或PPT里当图片用。想批量造几百个也不心疼。

5.5 终极方案:造一个专属字体

对极少数需要“任何数字都能带圈,且能像文字一样编辑和复制”的用户,终极方案是用FontForge这类字体编辑器,生成一个自定义字体文件。做法是把0到9十个数字的“带圈变体”映射到专用码位,然后用OpenType特性做自动组合。

这个方案我不建议普通人碰。字体设计有大量细节要处理:圈线粗细、数字居中、Bearing、基线对齐、Hinting,每一项都够学一阵子。除非你是做字体开发或者有强烈的品牌定制需求,否则用第5.3或5.4节的办法,半天就能交付,效果还更可控。

6. 无论你用哪种方案,这组检查项最好过一遍

写到这里,带圈数字的完整技术链路基本都讲完了。按照老规矩,分享几个我在实际项目中攒下来的检查习惯,不一定每个人都需要,但碰上一次就能帮你省下半天返工时间。

6.1 发出去之前,先转PDF检查字体嵌入

我的固定操作是,带圈数字文档在提交前必须“另存为PDF”,然后打开PDF从头到尾翻一遍,特别是含有⑪到⑳的页面。如果哪一页的数字变成方框、消失、或者被替换成另一个字体风格,立刻能发现。

如果PDF里显示正常,在微信、邮件里发给不同系统的人以后,再让他们帮忙截图确认一下。字体渲染这件事,跨系统真的不一样,亲眼见过才算数。

6.2 公众号和网页排版,优先用CSS圈而不是字符

如果是在公众号写图文、在网页做表单,我建议直接放弃Unicode带圈数字,改成CSS圆角容器包普通数字。这个方案能保证任何手机、任何系统看到的效果完全一致。

<span style=" display: inline-flex; align-items: center; justify-content: center; min-width: 1.6em; height: 1.6em; padding: 0 0.2em; border-radius: 50%; background-color: #2b6cb0; color: #fff; font-size: 0.85em; line-height: 1; ">21</span>

这段代码在网页里会渲染出一个蓝底白字、正圆形的“21”。多长的数字都能放进去,而且颜色、大小、字距全由你控制。在公众号编辑器里,可以用类似思路做一个“组件”,或者直接截图成图。唯一的代价是它不是文字,不能被搜索引擎或页面查找抓取,但对绝大多数视觉场景来说无所谓。

6.3 超过15个的连续编号,换成普通数字更耐看

带圈数字在“操作步骤1到10”的范围内最好看,一旦到了11到20,视觉密度就开始失衡。⑪和⑳摆在一起,圈的尺寸看起来不一样,字体的对齐也忽高忽低。如果你要列15条以上的条目,我的亲身体会是:用“01、02、03”或者“第1步、第2步”这种普通文本编号,排版会稳定得多,也少了字体兼容的烦恼。

带圈数字的精髓是“点缀”,比如几个并列模块的序号,用①②③能提升阅读节奏;但一旦变成“一整页的连续流程”,它就该让位于工程化的自动编号了。

6.4 一个小技巧:统一字符间距,让序号更整齐

最后分享一个便宜又好用的小技巧。在Word或PPT里,如果带圈数字后面紧跟中文,两者之间常常挤在一起或者间距忽大忽小。选中这些带圈数字,在“字体→高级→间距”里设为“加宽”,磅值设为1磅左右,视觉上会整齐很多。

如果是对外PPT,建议直接把字号和文字基线的位置锁定,不要把带圈数字和正文用两个不同的字号混排。否则就像穿了不同尺码的鞋,怎么看怎么别扭。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询