博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
奇葩字符 "a๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎" 的简单分析
阅读量:6429 次
发布时间:2019-06-23

本文共 1375 字,大约阅读时间需要 4 分钟。

这个其实之前火过一阵子,当时也没怎么注意,今天看到空间里又有人在刷这个字符了,所以决定分析下他是什么东西、

复制这个字符在控制台查看 "a๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎".length 发现他的长度是 20,怎么会是20呢?
我们依次调试  "a๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎".charAt(0), "a๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎".charAt(1), "a๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎".charAt(2)  可以发现第一个字符是a 后面都是其他什么东西组成的。

当你黏贴到notepad++之类的编辑器里,也会发现这个问题,后台那些是重复的字符,而且都可以看到。

这些字符到底是什么东西呢?

突然想起js圣经上貌似记载过一个 é 字符,他的 unicode 是 \u00e9, 但是也可以用 'e' + '\u0301' 实现 "é" 前者 length 是 1,后者 length 是 2。

'\u0301' 在这里起到了语调符的作用,然后我就丧心病狂的  'e'+Array(20).join('\u0301');  发现竟然成功了,果然是这个东西,但是这个语调符有哪些呢。
继续寻找答案,在圣经的注释里发现了他貌似属于 Mn 类,去unicode官方找这个东西,一番寻找后终于找到他了,。

这里解释了 Mn 其实是 a nonspacing combining mark (zero advance width) (谷歌翻译: 一个非空格组合标志(零超前宽度))。

虽然给了解释,但是还是没有说他有那些字符啊,所以我继续寻找答案,功夫不负有心人,终于找到了一张表。
 
这里详细的列出了每个编码以及对应的意思,还有图片展现。你可以点击头部那个 View all images 超链接,这样你就不必一个一个展开看图片了。

找到这个的时候我欣喜诺狂,各种测试,发现不仅仅是向上,还有 向左,向下的,但是暂时没发现向右的。

这里面有很多符号,虽然不知道他们在什么情况下使用,但是我的目的达到了,后续的东西暂时没欲望刨根问底了。

下面是我找的几个方向的小尾巴,大家也可以自己去各种测试起来。。

 '呵呵'+Array(20).join('\u0310');  // "呵呵̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐"

 '呵呵'+Array(20).join('\u031D');             // "呵呵̝̝̝̝̝̝̝̝̝̝̝̝̝̝̝̝̝̝̝"
 '呵呵'+Array(20).join('\u0E47');                          // "呵呵็็็็็็็็็็็็็็็็็็็"
 '呵呵'+Array(20).join('\u0e49');                                       // "呵呵้้้้้้้้้้้้้้้้้้้"
 '呵呵'+Array(20).join('\u0598');        // "呵呵֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘"

也可以这么玩...

 '呵呵'+Array(20).join('\u0310')+Array(20).join('\u0598')+Array(20).join('\u0e49');  // "呵呵้้้้้้้้้้้้้้้้้้้̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘"

好了,今天的话题到此结束了。。

 

转载地址:http://egjga.baihongyu.com/

你可能感兴趣的文章
1039. 到底买不买(20)
查看>>
JavaScript的块级作用域
查看>>
前端将markdown转换成html
查看>>
设计模式学习笔记之生成器模式
查看>>
jsp入门
查看>>
ORM之轻量级框架--Dapper
查看>>
自动化邮件报告平台-邮件发送highchart图表
查看>>
进程池的返回值
查看>>
053(二十一)
查看>>
ADO.NET笔记——执行事务
查看>>
QueryString 传值
查看>>
小谈一下反射
查看>>
C#调用SQlite常见问题汇总
查看>>
动态规划的简洁说明
查看>>
java中对MySql的配置
查看>>
K - Kia's Calculation (贪心)
查看>>
android笔试题一
查看>>
【JavaEE企业应用实战学习记录】getConnListener
查看>>
了解轮询、长轮询、长连接、websocket
查看>>
bzoj2427[HAOI2010]软件安装
查看>>