当前位置: 首页 > news >正文

你好南京网站简单的网页制作软件

你好南京网站,简单的网页制作软件,建设部网站官网造价工程师孙思新,花店网站源码脚本之家你与百万开发者在一起来源 | 程序通事(ID#xff1a;US_stocks)如若转载请联系原公众号上周的时候#xff0c;朋友圈的直升飞机不知道为什么就火了#xff0c;很多朋友开着各种花式飞机带着起飞。图片来自网络还没来得及了解咋回事来着#xff0c;这个直升飞机就?…   脚本之家你与百万开发者在一起来源 | 程序通事(IDUS_stocks)如若转载请联系原公众号上周的时候朋友圈的直升飞机不知道为什么就火了很多朋友开着各种花式飞机带着起飞。图片来自网络还没来得及了解咋回事来着这个直升飞机就?到的微博热搜。图片来自网络后面越来越多人开来他们的直升飞机盘旋在朋友圈上方。于是很多朋友开来他们的坦克专打直升飞机一轰一个准。图片来自网络好了说回正题程序员朋友应该都很熟悉 Unicode (万国码)它几乎包含世界上所有符号比如组成直升飞机这几个特殊符号对应的 Unicode 码分别为ps:推荐一个网站可以根据符号搜对应的 Unicode 码https://unicode.yunser.com/unicode除了这些正常字符以外Unicode 还包含着各种各样的奇葩字符。奇葩字符除了正常的我们熟知的文字以外Unicode 中还有一些奇怪的文字比如下面这些文字这咋读某少世代恩超出认知范围除了这些奇怪文字以外Unicode 还有一些奇葩的的符号。例如下面一整套麻将牌三缺一一整套的扑克牌对三要不起一整套国际象棋不会玩--除了这些通过组合符合我们还可以造出各种各样的颜文字(๑•̀ㅂ•́)و✧、另外 Unicode 还收录着我们常用的 Emoji 。除了这些之外Unicode 中还有一些特殊字符的利用这些字符我们还可以玩出很多有趣的骚操作。组合字符Unicode 有一类字符称为组合字符它可以附加在前一个非组合字符上从而使整体看起来像是一个字符。组合字符原来目的是为了解决一些地区语言、文字特殊的需要比如说泰文声调符号与母音符号。正常使用的情况下这些组合字符数量都会有一些限制。但是在 Unicode 组合字符设计上并没有加这种限制这样使我们可以无限加这类组合字符。利用这个特性可以达到一些恶搞效果比如「击穿天花板」与「凿穿地板」的效果。上面实现原理其是利用以下两个组合字符上翻字符下翻字符只要复制这两个字符相应的 HTML 代码跟在正常的字符后面就可以使这两个字符附加在普通字符上比如下面实现效果为黑̮̑Unicode 码值通常使用 UN(16 进制N 代表码值)比如 A 的码值为 U0041。在 HTML 中 Unicode 可以使用 N;(十进制N 代表码值)表示在 JS 中 Unicode 中需要使用] \uN(16 进制N 代表码值)表示只要我们在普通字符多复制几个这类附加字符就可以形成上述「击穿」效果。还记得上面说的泰文吗曾经有一段时间贴吧很流行一种喷射文比如下面的效果。 往左喷、往右喷、左右互喷这种喷射文实际原理就是利用泰文中声调符号附加在其他正常符号上。不过现在这个效果貌似已经没办法再复现了现在我们只能看到这样的效果在一些老版本的系统/浏览器可能还能看到这种效果知道的小伙伴留言区可以告知一下。零宽字符Unicode 中还有一类格式字符不可见不可打印主要作用于调整字符的显示格式所以我们将其称为零宽字符。零宽字符主要有以下几类零宽度空格符 (zero-width space) U200B : 用于较长单词的换行分隔零宽度非断空格符 (zero width no-break space) UFEFF : 用于阻止特定位置的换行分隔零宽度连字符 (zero-width joiner) U200D : 用于阿拉伯文与印度语系等文字中使不会发生连字的字符间产生连字效果零宽度断字符 (zero-width non-joiner) U200C : 用于阿拉伯文德文印度语系等文字中阻止会发生连字的字符间的连字效果左至右符 (left-to-right mark) U200E : 用于在混合文字方向的多种语言文本中(例混合左至右书写的英语与右至左书写的希伯来语)规定排版文字书写方向为左至右右至左符 (right-to-left mark) U200F : 用于在混合文字方向的多种语言文本中规定排版文字书写方向为右至左利用零宽字符不不可见的特性我们也可以玩出一些骚效果。空白微博发布微博的时候如果内容都是空格将没办法发布。但是如果我们将零宽字符比如说「零宽度空格符 U200B」复制到微博这样我们就可以发布空白微博。我们可以利用 Chrome 浏览器的控制台复制零宽字符操作方式如下 发布效果如下真的没有改 HTML 导致的.jpg隐形水印对于一些内部论坛或者说小说网站来说可以通过零宽字符在帖子或小说内容嵌入隐形水印。当这些内容被一些爬虫复制到其他网站时我们就可以通过隐形水印轻松查找时那位用户泄漏内容。隐形水印主要原理就是将用户信息比如用户名通过一定算法转成零宽字符这样普通用户浏览时完全看不到这个水印。如果内容被复制到其他网站隐形谁赢也被复制只要找到这个水印将这些零宽字符反转成用户名即可。下面展示一种转换方法JS 代码主要参考以下 Github 项目https://github.com/umpox/zero-width-detection隐形水印生成方法第一步我们需要将明文字符串每个字符都转成二进制串。    // 每个字符转为二进制,用空格分隔    const textToBinary  username  (      username      .split()      // charCodeAt 将字符转成相应的 Unicode 码值      .map(char  char.charCodeAt(0).toString(2))      .join( )    );示例如下第二步将二进制串转为零度字符串转换规则如下1 转换为 \u200b 零宽度字符(zero-width space)0 转换为 \u200c 零宽度断字符(zero-width non-joiner)其他(剩余就是空格) 转换为 \u200d 零宽度连字符 (zero-width joiner)最后使用 \ufeff 零宽度非断空格符 (zero width no-break space) 作为分隔符const binaryToZeroWidth  binary  (  binary.split().map((binaryNum)  {    const num  parseInt(binaryNum, 10);    if (num  1) {      return \u200b; // \u200b 零宽度字符(zero-width space)    } else if(num0) {      return \u200c; // \u200c 零宽度断字符(zero-width non-joiner)    }    return \u200d; // \u200d 零宽度连字符 (zero-width joiner)  }).join(\ufeff) // \ufeff 零宽度非断空格符 (zero width no-break space));最终加密方法如下:const encode  username  {  const binaryUsername  textToBinary(username);  const zeroWidthUsername  binaryToZeroWidth(binaryUsername);  return zeroWidthUsername;};使用加密方法将明文字符串加密之后加密字符串肉眼是看不到了但是实际还是存在的。实际上如果我们将加密之后字符串复制到 ?BEJSON 网站,就可以看到字符。另外你还可以把加密字符串复制到 IDEA 中可以看到相应的 Unicode 编码值。解密隐形水印知道了加密的方式解密其实就很简单我们只要按照相反步骤的来就可以了。第一步将隐形水印按照以下规则转换为二进制串。转换规则如下使用 \ufeff 分隔字符串\u200b 转为 1\u200c 转为 0其他字符使用空格const zeroWidthToBinary  string  (  string.split(\ufeff).map((char)  { // \ufeff 零宽度非断空格符 (zero width no-break space)    if (char  \u200b) { // \u200b 零宽度字符(zero-width space)      return 1;    } else if(char  \u200c) { // \u200c 零宽度断字符(zero-width non-joiner)      return 0;    }    return  ;  }).join());调用该方法隐形水印转成二进制串。第二步将二进制再转为相应的字符。const binaryToText  string  (  // fromCharCode 二进制转化  string.split( ).map(num  String.fromCharCode(parseInt(num, 2))).join());最终解密方法如下const decode  zeroWidthUsername  {  const binaryUsername  zeroWidthToBinary(zeroWidthUsername);  const textUsername  binaryToText(binaryUsername);  return textUsername;};解密示例如下 短网址我们常用的短网址域名后面会跟上一串随机串从而实现短网址到长网址的映射。比如以下网址https://sourl.cn/iLyn9S然而我们可以利用零宽字符也可以实现短网址的效果,比如下面这个网站就可以生成这类短网址。https://zws.im/可以看到这个短网址后面看不到任何字符实际上这后面跟着一串零宽字符。当浏览器访问该短网址时后端程序只要反解密的后面零宽字符拿到相应的网址然后在做跳转就可以到指定的网站。反解密的原理可以参考上面隐形水印的代码小心零宽字符日常开发过程中我们有时需要从一些文件中读取文本内容然后做相应的处理。有时候我们可能会碰到一些诡异的现象比如我们之前碰到的例子。后台程序从 Excel 读取文本内容然后程序中判断是读取的文本内容是否与指定的字符串相等。然后当我们读取一份 Excel 内容后返现这段比较逻辑怎么也通过不了。本来以为是 Excel 内容存在空格什么的但是打开 Excel 仔细一看跟指定字符串一模一样并没有什么其他字符。第一次碰到这种例子没有什么经验真的排查了很久到最后都有点怀疑人生了。最后无意间将文本内容复制到了 IDEA 中才发现整理混杂着零宽字符!如果各位小伙伴也碰到这类问题不妨将复制文本内容然后到 IDEA 中查看是否存在某些看不见字符~参考链接https://juejin.im/post/5d3f01e7f265da03c23ead69http://zero.rovelast.com/https://zws.im/https://imweb.io/topic/5a08a5c7ef79bc941c30d8dd- END -点击卡片进入小程序签到赢礼品??????(更多精彩值得期待……)●  人人都欠微软一个正版●  积分兑换来就“兑”了●  这 10 行比较字符串相等的代码给我整懵了不信你也来看看●  Unicode双向算法(bidi算法)详解(一)● 漫画什么是字符串匹配算法● 漫画如何优化 “字符串匹配算法”
http://www.yutouwan.com/news/491138/

相关文章:

  • 如何免费做网站赚钱wordpress安装php5.4
  • 免费用搭建网站网站开发使用什么运行软件
  • 现在建网站软件网站架构模式用哪种
  • 代运营公司网站amh wordpress伪静态
  • 重庆做网站的网络公司中山网站备案
  • 个人优秀网站欣赏渭南做网站价格
  • 手机网站关键词排买个域名多少钱一年
  • 深圳物流网站优化工作安排
  • seo网站优化推广费用wordpress 为什么很慢
  • 石家庄网站制作公司创客贴做网站吗
  • 用粉色做网站主题色资源库网站开发
  • 网站引用百度地图wordpress LaTeX
  • 太原做网站的公司网站建设做一个响应网站多少钱
  • 廊坊网站建设模板页面效果设计
  • 局域网站开发成都装修公司哪家实惠
  • 网站开发设计的技术自行建网站 所需费用
  • 看上去高端的网站呼和浩特网站建设价格
  • 爱站网关键词挖掘工具做网站的人跑了网站可以恢复吗
  • 国内课题组建设常用网站国外优秀设计网站大全
  • 重庆江北营销型网站建设公司哪家好十大著名企业文化
  • 网站按条件显示广告图片公益建设网站的作用
  • 苏州公司的网站建设免费领取永久云服务器
  • 无锡新区企业网站推广深圳企业网站建设维护
  • 网站推广软文正规网站建设公司一般要多少钱
  • 设计师网站pintset网站的发布与推广怎么写
  • 网站浏览器图标怎么做电商网站模块介绍
  • 开发网站的流程细节软件外包公司容易进吗
  • 建设网站的价格是多少钱如何提高网站排名seo
  • 未明潮网站建设保密协议杭州企业建设网站公司
  • 我要啦免费统计怎么做网站wordpress怎么自己写代码