微信小程序中对于蓝牙通讯数据处理常用的工具函数

一、十六进制转字符串

c 复制代码
export const hexToStr = function(hex, encoding) {
	var trimedStr = hex.trim();
	var rawStr = trimedStr.substr(0, 2).toLowerCase() === "0x" ? trimedStr.substr(2) : trimedStr;
	var len = rawStr.length;

	var curCharCode;
	var resultStr = [];
	for (var i = 0; i < len; i = i + 2) {
		curCharCode = parseInt(rawStr.substr(i, 2), 16);
		resultStr.push(curCharCode);
	}
	var val = "";
	var arr = resultStr;
	for (let i = 0; i < arr.length; i++) {
		val += String.fromCharCode(arr[i]);
	}
	return val;
}

二、十进制转16进制

c 复制代码
export const tenToHex = (num, digit = 4) => {
	const hex = num.toString(16);
	return hex.padStart(digit, 0);
}

三、字符串转16进制

c 复制代码
export const stringToHex = (str) =>{
	var val = "";
	for (var i = 0; i < str.length; i++) {
		if (val == "") {
			val = str.charCodeAt(i).toString(16); //获取字符的Unicode码然后转16进制
		} else {
			val += str.charCodeAt(i).toString(16); //获取字符的Unicode码然后转16进制再拼接,中间用逗号隔开
		}
	}
	return val;
}

四、arrayBuffer转16进制字符串

c 复制代码
export const arrayBufferToHexString = (buffer) => {
	const hexArr = Array.prototype.map.call(
		new Uint8Array(buffer),
		function(bit) {
			return ('00' + bit.toString(16)).slice(-2)
		}
	)
	return hexArr.join('').toUpperCase();
}

五、十六进制字符串转ArrayBuffer

c 复制代码
export let hexStringToArrayBuffer = (str) => {
	//十六进制转ArrayBuffer
	return new Uint8Array(str.match(/[\da-f]{2}/gi).map(function(h) {
		return parseInt(h, 16)
	})).buffer
}

六、十六进制转GB2312

c 复制代码
npm install iconv-lite
c 复制代码
 export let hexToGb2312 = (hexString)=> {
  const buffer = Buffer.from(hexString, 'hex');
  const decodedString = iconv.decode(buffer, 'GB2312');
  return decodedString;
}
相关推荐
攀登的牵牛花2 小时前
给女朋友写了个轻断食小程序:去老丈人家也是先动筷了
前端·微信小程序
前端小雪的博客.2 小时前
【保姆级教程】uniAI 插件高效开发 uni-app 微信小程序(附实战案例)
微信小程序·uni-app·ai编程·uniai
小小王app小程序开发2 小时前
海外盲盒小程序抽赏玩法分析(附跨境技术落地要点)
小程序
一叶星殇2 小时前
微信小程序请求拦截器踩坑:避免重复刷新 token
微信小程序·小程序
hello kitty w3 小时前
4. 基本语法
小程序
CHU7290353 小时前
探索淘宝扭蛋机小程序:创意互动与趣味体验的融合
小程序
头发还在的女程序员4 小时前
【免费下载】企业能源管理系统
小程序·策略模式·能源管理
吴声子夜歌18 小时前
小程序——样式与布局
小程序
hello kitty w1 天前
3.小程序方法的封装
javascript·小程序