• 背景:

    • JQ的html()函数得到网页的html源码,而有时得到的文本中的中文会以HTML转义码的形式出现:如“转发”被编码成了“& #x8F6C;& #x53D1;”。(这里&和#之间加了空格,否则会直接显示为中文)
    • 而使用text()函数又会丢失网页的元素信息,所以想原生的保留网页信息只能进行手工解码。
  • 原理:
    • 这种编码方式使用的编码为unicode,在&#和;之间的十六进制数即为该字符的unicode编码。
  • 造轮子:
    • String.fromCharCode()方法,该方法接受一个unicode值,返回该值代表的字符。
    • JS字符串正则替换支持str.replace(reg, function(text){})的形式。

function decodeHtml(_str){var s = _str.replace(/&#x[\dA-F]{2,4};/g, function(_hex){return String.fromCharCode('0' + _hex.slice(2, -1));});return s;
}

原理都清楚了轮子也很简单
nodejs测试通过

JS HTML转义码解码相关推荐

  1. qrcode.min.js生成二维码以及reqrcode.js二维码解码

    生成二维码 1.引入js qrcode.min.js ,下载地址:https://download.csdn.net/download/weixin_43830264/87472390 2.根据需求设 ...

  2. js encodeuri转码和解码

    js encodeuri转码和解码教程如下: 输入一段html代码 实现结果:将代码加密 js实现代码如下: /*! JSFuck 0.4.0 - http://jsfuck.com */(funct ...

  3. js前端base64转码解码

    我们为什么要用base base64是网络上最常见的用于传输8bit字节代码的编码方式之一.有时我们需要把二进制数据编码为适合放在URL中的形式.这时采用base64编码具有不可读性,即所编码的数据不 ...

  4. Python反反爬之JS混淆---源码乱码(详细教程)

    写在前面 很早之前在吾爱破解论坛上看见了[猿人学]Web端爬虫攻防大赛,当时进入他们官网的时候,比赛已经结束了.看着那些题目还挺有意思的,但由于各种原因一直没有机会去做那些题目.最近比较闲,就去把猿人 ...

  5. URL--编码解码那些事

    URL--编码解码那些事 1 JS对URL字符串进行编码/解码分析 1.1 为什么要对URL编码和解码? 1.2 js对URL编码和解码 1.2.1 escape() 1.2.2 encodeURI( ...

  6. html转义es,Js特殊字符转义之htmlEscape()方法

    为了防止XSS攻击,常常需要将用户输入的特殊字符进行转义,原生js貌似还没有直接对其专业的方法,最近再读Js高级程序设计的时候刚好看到,碰巧项目中也刚好需要使用次方法,于是就之家搬来用了. 网上关于转 ...

  7. 猿人学js混淆-源码乱码解法总结

    猿人学js混淆-源码乱码解法总结 网址 解法 心得 网址 js混淆-源码乱码网址 解法 我是在360浏览器下打开网址,进入审查元素. 打开第2页 发现请求网址为:http://match.yuanre ...

  8. App.Config 和 WebConfig 特殊字符的转义码对应关系

    Web.Config默认编码格式为UTF-8,对于XML文件,要用到实体转义码来替换.对应关系如下: 字符 转义码 & 符号 & & 单引号 ' ' 双引号 " &q ...

  9. js技巧--转义符\的妙用

    js技巧--转义符"\"的妙用 // blueDestiny, never-online // blueDestiny [at] 126.com 通常,我们在动态给定一个conta ...

最新文章

  1. Spring事务管理机制
  2. ubuntu 16.04 安装MySQL Workbench
  3. 鸿蒙os2.0公测结束了,鸿蒙OS2.0系统公测版发布时间-鸿蒙OS2.0系统公测版适配机型推荐...
  4. 逆向so_记一次APP的so层算法逆向(七)
  5. LeetCode 826. 安排工作以达到最大收益(map)
  6. Windows下Jenkins的详细安装及使用
  7. Qt之QToolBox
  8. Nginx教程1:基本概念
  9. java简历制作注意点
  10. android adb驱动win7,win7 64位adb驱动怎么安装_win7安装abd驱动的方法图文步骤
  11. Isabelle定理证明器
  12. HTML5前端开发实战08-外语培训
  13. 【TensorRT】PyTorch模型转换为ONNX及TensorRT模型
  14. 逻辑移位和算术移位的区别
  15. java 流 改变编码_Java-IO流之转换流的使用和编码与解码原理
  16. mac下安装redis 和 redis可视化工具rdm并且连接redis
  17. 概率论与数理统计练习
  18. java中八进制常量是什么意思_Java 负的十六进制与八进制字面常量
  19. 微信支付:小程序支付/扫码支付
  20. python基础讲解:代码规范判断语句循环语句

热门文章

  1. 33+卡通炫酷视频特效素材AE模板 Flash FX Elements Pack 02
  2. ubuntu系统下,安装pycharm以及创建桌面快捷方式
  3. 量化金融中的机器学习是什么? 定义、类型和示例
  4. 使用Pyparsing为嵌入式开发定义自己的脚本语言
  5. 纪念L.A. Zadeh教授
  6. 名帖373 赵孟頫 《六体千字文卷》
  7. 第一章-----Java基础入门(项目名称使用小驼峰命名)
  8. 使用jQuery封装翻页器
  9. Android10.0及以上版本 微信登录、分享、支付提示微信未安装
  10. 动态规划之背包问题总结