[TOC] #### 前言 --- 物联网项目需要频繁使用进制转换,所以封装了一些进制转换函数,本文记录一下,方便以后使用 文本转十六进制转换器: [http://ascii-to-hex.bchrt.com](http://ascii-to-hex.bchrt.com) #### 1. 十进制转为十六进制 --- ```javascript /** * 十进制转为十六进制 * @param {Number} 十进制 */ function dec_to_hex(dec) { dec = Number(dec) let hex = dec.toString(16) return hex.length == 1 ? ('0' + hex) : hex } ``` #### 2. 十六进制转为十进制 --- ```javascript /** * 十六进制转为十进制 * @param {String} 十六进制 */ function hex_to_dec(hex) { hex = hex.toString() return parseInt(hex, 16) } ``` #### 3. 十六进制转为二进制 --- ```javascript /** * 十六进制转为二进制 * @param {String} 十六进制 */ function hex_to_bin(hex) { hex = hex.toString() return parseInt(hex, 16).toString(2) } ``` #### 4. 十六进制转为 ASCII 字符 --- ```javascript /** * 十六进制转为ascii字符 * @param {String} 十六进制字符 */ function hex_to_ascii(hex) { hex = hex.toString(); let str = ''; for (var n = 0; n < hex.length; n += 2) { str += String.fromCharCode(parseInt(hex.substr(n, 2), 16)); } return str; } ``` #### 5. 汉字转为十六进制 --- ```javascript /** * 文字转为十六进制 */ function words_to_hex(string) { let link = "" for (let i = 0; i < string.length; i++) { link += string.charCodeAt(i).toString(16) } return link } // 使用示例 const hex = words_to_hex('开发者') // 5f0053d18005 ```