所谓空白的朋友圈就是一条看起来没有文字的朋友圈,因为发朋友圈的时候不输入文字是没法发送的。不可见字符是有文字内容的,只是人的肉眼看不见,所以相当于空白。
不可见字符
不可见字符就是零宽空格,见维基百科解释https://zh.wikipedia.org/wiki/%E9%9B%B6%E5%AE%BD%E7%A9%BA%E6%A0%BC
:
零宽空格(zero-width space, ZWSP)是一种不可打印的Unicode字符,用于可能需要换行处。
http://www.fileformat.info/info/unicode/category/Mn/list.htm 这里列出了许多不可见字符,控制台输入对应的Unicode码就能显示出来。
比如第一个 \u0300
就是̀
这个字符,但是这个字符肉眼是看不见的。
通过进制转换可以看到它的二进制是00000000
在PHP里可以看到它的长度为21
2>>> strlen('̀')
=> 2
空白朋友圈
将上面copy的不可见字符发到朋友圈 ,效果如下:
如果你也想发条空白的朋友圈,在公众号内回复 朋友圈 获取,当然微博也是可以的https://weibo.com/2717930601/HDjs3fVkU
星球一样:
有意思的字符
https://www.compart.com/en/unicode/category/So 和 https://unicode-table.com/cn/#lao 这里列出了一些有意思的字符。
比如手表 ⌚ ,版权 ℗ ,商标 ™ , 箭头 ↱,键盘 ⌨ 等,在控制台输入’\u231a’就是手表。
上面的字符是没法用输入法直接输入的,所以搜狗输入法也提供了一些特殊字符。
其中这个é
字符, unicode 是 \u00e9
, 而 ‘\u0301’ 是个不可见字符,
‘e’ + ‘\u0301’ 拼在一起就成了这样。e
的长度为1,拼接后长度为2,见 https://www.cnblogs.com/52cik/p/unicode-mark-nonspacing.html。
多拼几个就成这样了'e'+Array(50).join('\u0301')
é́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́́
继续拼接字符 '很好玩'+Array(50).join('\u0310')+Array(50).join('\u0598')+Array(50).join('\u0e49');
很好玩้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐̐֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘֘
零长度短网址
https://zws.im/ 这个网站用不可见字符欺骗你的视觉。
输入网易云音乐网址后的地址变成了https://zws.im//
,看起来不是网易的地址却跳转到了网易。
当然这个生成服务在墙外,所以有人开发了国内版 https://ml.mk/
网易云音乐的短网址就是 https://ml.mk//
,如果是某个不可描述网站生成这样的短网址,然后你在办公室打开就尴尬了,所以说不要随意打开这些不认识域名的网站。
另外有人还做了个零宽字符隐藏加密网站 http://morse.rovelast.com/,原理是利用零宽字符这种在文本中不显示的特殊字符,对加密文本进行转码,嵌入到普通文本当中,从而隐藏加密内容;表面看起来是一段普通文本,复制粘贴不会丢失。
参考:
http://www.asciim.com/ascii/265.html
UTF-8 encoding table and Unicode characters
字符百科
去掉不可见字符
进制转换
Unicode Characters in the ‘Mark, Nonspacing’ Category
踩坑特殊字符之硬空格
过滤ASCII码中的不可见字符
Linux终端:用cat命令查看不可见字符
奇葩字符 “a๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎” 的简单分析
使用零宽字符,隐藏存储加密信息
可生成零宽度地址与二维码的PHP短网址程序
推荐阅读:
公众号:苏生不惑