带圈数字①到⑳全解析:从Unicode到Word/Excel批量生成
发布时间:2026/9/23 21:55:37 锦皓数字建站

上次帮同事整理一份设备操作手册总共20个操作步骤。他一开始用了“①②③”这种编号觉得比“123”好看很多。但打到⑩以后就卡住了于是改用Word的“带圈字符”功能硬拼结果打印出来圈的粗细不一样十几的编号有的圈是椭圆的有的数字还跑到了圈外面。我一看就知道这不是手速问题是没搞懂带圈数字在底层到底是个什么东西。先给结论带圈数字看着简单其实牵扯到字符编码、字体覆盖、输入法、排版工具、打印渲染每一层都可能翻车。这篇文章我就把“带圆圈的数字序号”这件事从头到尾讲透包括它的Unicode码位、各种输入姿势、在Word和Excel里的批量生成方案、超过⑳之后的处理思路以及我在实际文档、表格、公众号排版里踩过的坑。适合文案、运营、HR、产品经理还有所有要写SOP、合同、培训材料的人。1. 先把带圈数字的“出身”搞清楚字符编码与Unicode全谱很多人以为①就是一个“汉字符号”或者干脆当成一张图片。实际上它不是图片它是一个独立的Unicode字符。Unicode里专门有一个区段叫“封闭式字母数字”Enclosed Alphanumerics码位范围是U2460到U24FF专门存放各种圈起来的数字、字母和符号。1.1 为什么同一个①在不同软件里长得不一样这就要从字符编码的两层结构说起了。Unicode干的活是“给每个字符一个唯一编号”它不负责“这个字长什么样”。长得什么样是字体文件的事。举个例子①这个字符Unicode给它的编号是U2460。你在Word里看到它实际上是Word用宋体或微软雅黑里的字形把U2460画了出来你在iPhone上看到它是iOS用苹方字体画了出来。数字都是同一个数字但画法不同字体不同于是高矮胖瘦、圈线粗细全都不一样。这也是很多人第一次遇到带圈数字翻车的原因在自己电脑上明明是正常的圆圈发给别人打开或者转成PDF打印突然变成方框“□”或者干脆消失。原因就是对方电脑里没有覆盖这个码位的字体系统找不到能画的字形只能显示成一个空方块。1.2 各种圈圈家族的Unicode全谱带圈数字不是一个孤立字符它有一整个家族。平时大家用得最多的是①到⑳它们在Unicode里的分布是显示效果码位十进制说明① ~ ⑨U2460 ~ U24689312 ~ 9320最常见的1到9⑩U24699321单字符的10⑪ ~ ⑳U246A ~ U24739322 ~ 933111到20⓪U24EA9450圆圈0白底黑圈⑴ ~ ⒇U2474 ~ U247F9332 ~ 9343带括号的数字❶ ~ ❿U2776 ~ U277F10102 ~ 10111Dingbats区的黑底白圈数字ⓐ ~ ⓩU24D0 ~ U24E99424 ~ 9449带圈字母这里有个很关键的认知Unicode只内置了①到⑳没有②①、②②这种写法。也就是说你想用“带圆圈数字序号”表示第21步、第22步在标准字符集里根本不存在对应字符。后面我会讲第5章专门处理超过⑳以后的办法。另外还要澄清一个误区带括号数字⑴⑵⑶和带圈数字①②③不是一回事。前者是括号不是圆圈码位从U2474开始。有些输入法里你打“yi”出现的候选是⑴不是①虽然看起来差不多但排版时对不齐、字体不覆盖的情况完全不同。而且带括号数字在中文排版里经常被当成半角字符处理和中文标点混用时间距会很奇怪。2. 六种输入带圈数字的方法按场景选最省力的带圈数字的输入方法很多但每种都有它的适用场景。我按“省事程度”和“可控程度”列一下你可以直接对号入座。2.1 中文输入法最省事但翻页很烦绝大多数中文输入法都内置了带圈数字。以搜狗输入法和微软拼音为例直接输入“yi”“er”“san”这类拼音翻几页就能在候选词里找到①②③。如果你需要输入①到⑩这个办法最直接。有个小技巧是打开输入法的“符号面板”或者“特殊符号”分类里面通常有“数字序号”这一栏①②③一直到⑩一次性列出来鼠标点就行。比翻页快得多也适合不熟悉输入法快捷键的人。但输入法方案的局限也很明显它只能输出Unicode里有的字符也就是最多到⑳。想输入21以上的带圈数字输入法直接没辙。另外不同输入法候选里的序号风格还不一样有的偏大、有的偏小用之前最好先确认一下和正文字体配不配。2.2 Word/WPS内置符号库最正统随时可查如果你在写Word文档不要跟输入法较劲直接用Word的“插入→符号→其他符号”在弹出的符号窗口中把“子集”选为“带括号的字母数字”从①到⑳全部列在那里双击即可插入插入后它能像普通文字一样被选中、改字体、改颜色这个办法的好处是“所见即所得”而且能直观看到当前字体对带圈数字的支持情况。如果某个带圈数字在符号窗口里显示成方框说明当前字体不支持换了它就行。WPS的操作类似但注意WPS的版本差异比较大有的版本里子集名称叫“带括号的字母数字”有的版本叫“封闭式字母数字”搜的时候灵活一点。2.3 Word里用AltX程序员风格的码位直输这个方法知道的人不多但在Word里是效率最高的。在Word中输入十六进制码位然后立刻按AltX就会自动转换成对应字符。比如输入2460按AltX变成①输入2469按AltX变成⑩输入2473按AltX变成⑳想输几个输几个完全不需要打开符号窗口翻半天。再按一次AltX可以变回码位方便检查和修改。这个方法只适用于Word/WPS这类支持AltX的编辑器在普通网页输入框、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 手机输入法日常沟通够用手机端的中文输入法搜狗、百度、讯飞通常也内置带圈数字一般在符号面板的“序号”分类里。但手机端带圈数字的字体覆盖情况比较复杂尤其是安卓机不同厂商的定制系统对U2460到U2473支持差异很大有的会显示成黑白风格有的会显示成彩色Emoji风格。在手机上写日常文案问题不大如果用在正式的发布内容里建议发之前拿同事的手机预览一下。3. 你看到的方框别人看到的圆圈字体覆盖与渲染差异这一章是带圈数字最容易踩坑的部分也是我帮同事排查了半天才搞明白的根因。3.1 字符存在不等于字体有形状前面说了①是Unicode字符但能不能显示出来取决于字体。Windows下最常见的宋体、微软雅黑、黑体通常都覆盖了U2460到U2473这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抢脸”问题在网页和公众号排版里带圈数字还有个特殊坑某些平台会把U2460-U2473范围内的字符默认渲染成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的“多级列表”或“自动编号”才是正解。做法是选中需要编号的段落在“开始→段落→编号”中选择想要的编号样式Word自动为后续段落连续编号中间插入新段落时编号自动顺延但是注意Word自带的编号样式里并没有“带圈数字”这个选项。如果你非要在自动编号里用①②③这种样式可以选择“定义新编号格式”然后在“编号格式”里粘贴一个①作为起始再把编号样式选为“无”这样能做出一个看起来是带圈数字、实际是自动编号的列表。老实说这个方案Word渲染得并不完美圈的大小和位置经常对不齐。我的建议是正文需要维护的列表就直接用123或者1. 2. 3.这类编号在Word自动编号里支持最完善带圈数字留给不需要二次编辑的标题性内容。4.2 在正文中间插入序号SEQ域还是静态有些场景不是列表而是在一段话中间引用步骤号例如“请确认第⑪步操作已完成再进入第⑫步”。这种情况下自动编号根本帮不上忙因为编号只作用于段落开头。想在正文中间实现“编号自动跟随”理论上可以借助Word域代码但实际操作非常繁琐需要手工插入SEQ域还要配合嵌套格式。我实话实说对绝大多数人来说在正文中间用静态带圈数字是最省心的。文档修改频率高的话宁可把这类“第⑪步”改成“第11步”也别为难自己。如果你非要炫技可以用AltF9打开域代码插入{ 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图片。用法一般是输入需要的数字比如21、35、99选择圈的颜色、粗细、字号下载生成的PNG/SVG图片在这个场景下我建议尽量下载SVG而不是PNG。SVG是矢量格式放大到多大都不糊打印成A3海报也没问题PNG在屏幕上看着行打印或放大后边缘容易发虚。在线生成器生成的图片本质上是图形不是文字。放到Word、PPT里之后不能像普通文字一样被检索、被朗读、被复制。所以它只适合“视觉呈现”不适合做需要编辑和检索的正式文档。5.3 用形状和文本框手工画圈PPT里的最优解做PPT的时候如果你要“第21步”这种编号我的建议是干脆别用字符。直接在PPT里画插入一个正圆形按住Shift画设置填充色和边框色在形状里输入数字设置字体和字号如果需要批量生成选中形状后按CtrlD拖动复制再改数字这个方案的优点是彻底自由圈的颜色、大小、数字的字体、颜色都完全可控而且不依赖任何字体里有没有带圈数字。缺点是如果编号数量多手动改数字比较费时间适合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), outlineblack, widthsize // 16) font ImageFont.truetype(msyh.ttc, int(size * 0.4)) text str(number) bbox draw.textbbox((0, 0), text, fontfont) 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, fontfont, fillblack) img.save(output) # 批量生成1到30的带圈数字图片 for i in range(1, 31): make_circle_number(i, fcircle_{i}.png)注意里面用到了textbbox来计算文字的实际尺寸实现水平和垂直居中。如果你的Pillow版本较老没有textbbox可以用draw.textsize(text, fontfont)代替但后者在新版本里已经废弃了。这个脚本生成的是透明背景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建议直接把字号和文字基线的位置锁定不要把带圈数字和正文用两个不同的字号混排。否则就像穿了不同尺码的鞋怎么看怎么别扭。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。