QQ群名片尾巴生成原理
前言
这已经是好几年以前的小玩意了,今天闲着无聊翻翻相册,无意看到的,因此写下了这篇。
正文
Unicode编码
先来介绍一下Unicode编码吧
它为了使计算机实现跨语言、跨平台的文本转换及处理而产生的业界标准。
控制字符
控制字符,顾名思义,它是出现于特定的信息文本中,表示某一控制功能的字符。
而关于qq群名片小尾巴生成,主要用到以下两个Unicode控制字符
&# 8237;LRO 开始从左向右覆盖
&# 8238;RLO开始从右向左覆盖
大多数语言都是从左向右读的,不过还真有从右向左读的语言,所以就出现了RLO(Right-to-Left Override),另外RLO在渗透方面也有应用(RLO文件名欺骗)
如果某些网站和谐某些关键字如“xyz”,你可以这样写"RLO字符+zyx",这样效果就是“xyz”。同理,在qq中,小明撤回了一条消息,如果把小明的群昵称改成“RLO字符+小明”,那么就会显示“息消条一了回撤明小”,那么如何做到”小明撤回了一条消息并打了你一下”的效果呢?
我们一步一步分析:
- 程序先得到用户的nickname
- 再拼接“撤回了一条消息”
- 输出顺序是nickname + “撤回了一条消息”
我们把nickname中加入RLO字符和tail(下一你了打并)以及LRO字符
- 程序得到nickname
- 拼接“撤回了一条消息”
- 先输出nickname
小明/
- 到RLO字符时,从右向左输出
- 从右向左输出tail
小明/并打了你一下
此时最后一次输出后的位置(即’/’)在“小明”与“并打了你一下之间” - 到LRO字符时,从左向右输出
- 输出拼接字符
小明撤回了一条消息/并打了你一下
这样就可以显示小明撤回了一条消息并打了你一下的效果了
代码
原理有了,实践开始
Button btn=(Button)findViewById(R.id.btn);btn.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){EditText nn=(EditText)findViewById(R.id.name);EditText tl=(EditText)findViewById(R.id.tail);String name=nn.getText().toString();String tail=tl.getText().toString();if (name.length()==0 || tail.length()==0){Toast.makeText(getApplicationContext(),"Please input your nick name and tail!",Toast.LENGTH_LONG).show();return;}String s=name+(char)8238+reverse(tail)+(char)8237;ClipboardManager cm=(ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);ClipData cd=ClipData.newPlainText(null,s);cm.setPrimaryClip(cd);Toast.makeText(getApplicationContext(),"Copied",Toast.LENGTH_LONG).show();}public String reverse(String str){return new StringBuffer(str).reverse().toString();}});
效果:
源码请访问Github:Click me
QQ群名片尾巴生成原理相关推荐
- iOS-QQ临时对话、QQ群申请跳转
QQ 临时对话 NSString *qq = [NSString stringWithFormat:@"mqq://im/chat?chat_type=wpa&uin=%@& ...
- qq浏览器打开word 技术原理_实操:QQ群排名技术原理
想必大家都创建过QQ,但是就是没有排名没人加最后放弃了,不活跃,今天教大家如何弄活一个QQ群,让说话以及加群的人变多. 直奔主题说影响群排名的因素及原理: 第一点:群等级压制 重要程度:★★★★★ Q ...
- 获取课程QQ群成员群名片,与选课名单核对
核对QQ群成员是否在选课名单里,并检查哪些同学选课了但是没进群. 选课名单的格式是excel表格. 我们的目的是,想要知道: (1)哪些群成员不在选课名单里 (2)哪些同学在选课名单却不在QQ群里. ...
- 如何在QQ群中使用群名片显示真实姓名?
在一些QQ群中,大家一般都是互相熟悉的朋友和同学,这个时候再用网名就显得不太合适了.但是我们又不想把自己的QQ昵称改称真实姓名,这时该怎么办呢? 在一些QQ群中,大家一般都是互相熟悉的 ...
- 在QQ群和QQ空间中挂马
有无数人每天都在使用 QQ ,大家往往注重于QQ尾巴病毒.QQ传 木马 之类的攻击方式,却很少有人注意到我们经常访问的QQ群.QQ空间里面隐藏着更大的安全危险,远比QQ尾巴病毒.QQ传木马之类的隐蔽得 ...
- python 下载qq群文件_python作业/练习/实战:下载QQ群所有人的头像
步骤与提示: 1.在腾讯群网页中进入任意一个群,获取相关信息,可以用postman是试一下,可以看到我们要的是mems里面的数据,需要获取到QQ号和群名片,如果没有群名片的话取昵称 2.根据QQ号下载 ...
- php 跳转qq群代码_Q群自动签到php+java实现
2020年9月10日更新:腾讯在9月9日,再次对签到系统进行了大幅度的更新,整个实现思路失效! 本篇文章仅记录实现思路,原文,并不放置源代码,不喜绕道~ 腾讯在8月12日,对QQ群进行了大幅度的更新, ...
- 关于QQ群头像以及微信讨论组头像的工具类
QQ群头像以及微信讨论组头像工具类介绍 介绍: 由于段时间公司项目需求,在翻了网上很多代码后发现,很多人用的是自定义View的办法来实现此类头像的效果,但是,这样一来就必须改变项目中原有的控件,而且 ...
- qq动态名片代码_巧用云调用,实现【共享名片夹】小程序
原创: 锋少 一.前言 从一个较早的小程序开发者到第一批使用小程序·云开发的开发者,这期间一直在关注关于小程序各方面的更新,同时也用小程序·云开发做了几款产品,其中包括上次分享的随手记Lite小程序, ...
最新文章
- B题 锅炉水冷壁温度曲线 2021年第一届长三角高校数学建模竞赛
- PHP源码分析-数组
- tyvj 2002 扑克牌
- android 倒计时的控件,以动画的形式平滑的完成数字的过度
- Instsrv.exe可以给系统安装和删除服务
- 安装Xen Server创建虚拟机
- Apache Hadoop HDFS数据节点Apache Mesos框架
- 耳目一新的在线答疑服务背后的核心技术
- 诺基亚造平板到底前途几何?
- Java习题>|异常>|throw自定义异常小案例
- hdu1166------树状数组(板子)
- python pdf模块_python—pdf模块
- 分享收集软件教程的微信小程序
- 谓词公式与量词的辖域
- html 链接nofollow,ueditor给超链接默认添加rel=nofollow标签
- 企业要如何利用360评估法做好人才盘点?
- python如何拼读英语单词怎么写_怎么用英标快速拼读英语单词,这些技巧你知道吗...
- obs多推流地址_OBS下载、安装、使用(腾讯)推流直播教程
- LINUX内核编译选项-5
- 图像质量评价的方法和意义
热门文章
- Windows安装程序初始化时出错。安装程序将立即关闭。(原)
- arch Linux 作妖记录(U盘启动)
- Aspose.Words for .NET使用教程(七):将文档转换为EPUB
- 201871010123-吴丽丽《面向对象程序设计(Java)》第一周学习总结
- CasADi学习(2)
- python 计算TIFF图像相关性 根据相关性筛选特征 使用PCA提取主要特征
- Process finished with exit code 137 (interrupted by signal 9: SIGKILL)错误
- ReflectionTestUtils.invokeMethod方法的使用
- Windows10 IoT 企业版 LTSC 2021安装应用商店
- 如何高效的学习高等数学