javascript實(shí)現(xiàn)的字符串與十六進(jìn)制表示字符串相互轉(zhuǎn)換方法
本文實(shí)例講述了javascript實(shí)現(xiàn)的字符串與十六進(jìn)制表示字符串相互轉(zhuǎn)換方法。分享給大家供大家參考。具體如下:
之所以寫這個(gè),是因?yàn)榘l(fā)現(xiàn)SQL注入和XSS中經(jīng)常利用十六進(jìn)制表示的字符串,比如
SELECT CONCAT(0x68656c6c6f);
得到的是hello
<!DOCTYPE html> <html> <head> <title>Hex-Char Bi-Converter</title> </head> <body> <div class="mainContainer"> <label for="from" id="fromLabel">String</label> <input type="text" name="from" id="from" /> <input type="button" name="exchange" id="exchange" value="<=>" /> <label for="to" id="toLabel">Hex</label> <input type="text" name="to" id="to" /> <input type="button" name="convert" id="convert" value="Convert" /> </div> <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> <script type="text/javascript"> var curMode = 0; // curMode: 0 represents String to Hex, 1 from Hex to String var fromToLabelArray = ["Hex", "String"]; $(function() { $("#convert").click(function() { var fromVal = $("#from").val(); var toVal = curMode === 0 ? strToHexCharCode(fromVal) : hexCharCodeToStr(fromVal); $("#to").val(toVal); }); $("#exchange").click(function() { $("#fromLabel").text(fromToLabelArray[curMode]); $("#toLabel").text(fromToLabelArray[1-curMode]); curMode = 1 - curMode; }); }); function strToHexCharCode(str) { if(str === "") return ""; var hexCharCode = []; hexCharCode.push("0x"); for(var i = 0; i < str.length; i++) { hexCharCode.push((str.charCodeAt(i)).toString(16)); } return hexCharCode.join(""); } function hexCharCodeToStr(hexCharCodeStr) { var trimedStr = hexCharCodeStr.trim(); var rawStr = trimedStr.substr(0,2).toLowerCase() === "0x" ? trimedStr.substr(2) : trimedStr; var len = rawStr.length; if(len % 2 !== 0) { alert("Illegal Format ASCII Code!"); return ""; } var curCharCode; var resultStr = []; for(var i = 0; i < len;i = i + 2) { curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value resultStr.push(String.fromCharCode(curCharCode)); } return resultStr.join(""); } </script> </body> </html>
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
- JS中字符問題(二進(jìn)制/十進(jìn)制/十六進(jìn)制及ASCII碼之間的轉(zhuǎn)換)
- 使用JavaScript進(jìn)行進(jìn)制轉(zhuǎn)換將字符串轉(zhuǎn)換為十進(jìn)制
- JS中的進(jìn)制轉(zhuǎn)換以及作用
- 用js實(shí)現(xiàn)的十進(jìn)制的顏色值轉(zhuǎn)換成十六進(jìn)制的代碼
- javascript簡單進(jìn)制轉(zhuǎn)換實(shí)現(xiàn)方法
- JavaScript進(jìn)制轉(zhuǎn)換實(shí)現(xiàn)方法解析
- javascript中簡單的進(jìn)制轉(zhuǎn)換代碼實(shí)例
- javascript實(shí)現(xiàn)二進(jìn)制、十進(jìn)制、十六進(jìn)制和八進(jìn)制之間相互轉(zhuǎn)換的方法
相關(guān)文章
微信小程序?qū)W習(xí)筆記之表單提交與PHP后臺(tái)數(shù)據(jù)交互處理圖文詳解
這篇文章主要介紹了微信小程序?qū)W習(xí)筆記之表單提交與PHP后臺(tái)數(shù)據(jù)交互處理,結(jié)合實(shí)例形式詳細(xì)分析了微信小程序前臺(tái)數(shù)據(jù)form表單提交及后臺(tái)使用php進(jìn)行處理相關(guān)操作技巧,并配以圖文形式詳細(xì)說明,需要的朋友可以參考下2019-03-03詳解原生JavaScript實(shí)現(xiàn)jQuery中AJAX處理的方法
這篇文章主要介紹了原生JavaScript實(shí)現(xiàn)jQuery中AJAX處理的方法,作者根據(jù)jQuery中一些對(duì)AJAX請(qǐng)求的處理方式來用原生API實(shí)現(xiàn),需要的朋友可以參考下2016-05-05uni?app跨端自定義指令實(shí)現(xiàn)按鈕權(quán)限
這篇文章主要為大家介紹了uni?app跨端自定義指令實(shí)現(xiàn)按鈕權(quán)限詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12BootStrap注意事項(xiàng)小結(jié)(五)表單
這篇文章主要介紹了BootStrap注意事項(xiàng)小結(jié)(五)表單的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,,需要的朋友可以參考下2017-03-03js實(shí)現(xiàn)的tab標(biāo)簽切換效果代碼分享
這篇文章主要介紹了js實(shí)現(xiàn)的tab標(biāo)簽切換效果,功能實(shí)現(xiàn)非常簡單,推薦給大家,有需要的小伙伴可以參考下。2015-08-08