16进制与buffer相互转换

  • 一个字节是8位,相当于16进制2位,因此为了方便表示,很多情况下,buffer打印出来是16进制显示的,但是本质上还是2进制,就好比buffer里边的 11111111 打印出来之后就会显示 ff
首先说说16进制转buffer
  • 假设有一个数组,[1a, 2b, 3c, 4d, 5e, 6f]想要转成buffer,代码如下:
var array = ['1a', '2b', '3c', '4d', '5e', '6f']
var hex_array = array.map(el=>parseInt(el, 16))
var uarray = new Uint8Array(hex_array)
var buf = Buffer.from(uarray)
console.log(buf)// 打印结果
<Buffer 1a 2b 3c 4d 5e 6f>
  • 基于上面的思路,可以封装成一个函数:
// 16进制转buffer
function hex_to_buffer(__array){if(!Array.isArray(__array)){return hex_array([__array])}var hex_array = __array.map(el=>parseInt(el, 16))var uarray = new Uint8Array(hex_array)return Buffer.from(uarray)
}
buffer转16进制
  • 以上一个例子为例,如何实现buffer转16进制,代码如下:
function hex_to_buffer(__array){if(!Array.isArray(__array)){return hex_array([__array])}var hex_array = __array.map(el=>parseInt(el, 16))var uarray = new Uint8Array(hex_array)return Buffer.from(uarray)
}var array = ['1a', '2b', '3c', '4d', '5e', '6f']
var buf = hex_to_buffer(array) // 获取buffer <Buffer 1a 2b 3c 4d 5e 6f>
// buffer转16进制
var uarray = Array.prototype.slice.call(buf)
var hex_array = uarray.map(el=>Number(el).toString(16))
console.log(hex_array)
  • 基于上面的思路,可以封装一个函数:
// buffer转16进制
function buffer_to_hex(__buffer){var uarray = Array.prototype.slice.call(__buffer)return uarray.map(el=>Number(el).toString(16))
}

大功告成

16进制与buffer相互转换相关推荐

  1. python中文转16进制_Python 16进制与中文相互转换的实现方法

    Python中编码问题:u'\xe6\x97\xa0\xe5\x90\x8d' 类型的转为utf-8的解决办法 相信小伙伴们遇到过类似这样的问题,python2中各种头疼的转码,类似u'\xe6\x9 ...

  2. 2进制 , 8进制 , 10进制 , 16进制 , 介绍 及 相互转换 及 快速转换

    为什么要使用进制数 数据在计算机中的表示,最终以二进制的形式存在 , 就是各种 <黑客帝国>电影中那些 0101010- 的数字 ; 我们操作计算机 , 实际 就是 使用 程序 和 软件 ...

  3. 进制数转换器的VB算法实现(2/8/10/16进制数可以相互转换)

    在VB6中新建一个工程,当前窗体默认为form1,添加一个框架控件frame.几个文本框控件text.几个标签控件label.两个timer计时器.三个按钮控件.添加一个窗体form2.一个模块mod ...

  4. 16进制与ASCII互相转换

    代码示例 /*---------如何将16进制数转换为字符串?--------- -----------如何将字符串转换为数据?------------*/ #include <stdio.h& ...

  5. 字符串16进制之间相互转换(转载)

    1.将普通的字符串. 点击进入推荐链接 class Program {static void Main(string[] args){string str = "Hello,C#!!!&qu ...

  6. linux ascii与字符相互转换,ascii 字符串和16进制相互转换

    python 实现的 ascii 字符串和16进制相互转换,备忘一下.有时候转换个IP地址会用到. ''' _ooOoo_ o8888888o 88" . "88 (| -_- | ...

  7. java中 8进制 10进制 2进制 16进制 相互转换

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  8. QString、QByteArray 相互转换、和16进制与asc2转换

    QString.QByteArray 的等效转换: QByteArray = QString.toUtf8(); QString = QByteArray; QString.QByteArray as ...

  9. Java的String/byte[]/16进制相互转换

    源代码下载地址: http://www.zuidaima.com/share/1550463378410496.htm Java 字符串转 16 进制工具类 Hex.java 实现 16进制 0xfe ...

最新文章

  1. TPAMI 2021 | 深度赋智AutoDL系列竞赛世界冠军方案首次公开
  2. 随便写点时间相关的模块
  3. 2018蓝桥杯省赛---java---C---4( 第几个幸运数)
  4. 【渝粤题库】广东开放大学 社会学基础 形成性考核
  5. Android底部导航栏的实现(RadioGroup和Fragment结合使用)
  6. 局域网聊天服务器(openfire)安装与配置
  7. Python爬虫教程-22-lxml-etree和xpath配合使用
  8. JAVA描述汽车喇叭_描写车声音的词语
  9. 计算机课怎么管纪律,浅谈如何巧妙设置学生机轻松管理机房课堂纪律
  10. 学术答辩PPT模板推荐
  11. DHT11 温湿度传感器
  12. java win7 管理员权限_获得WIN7管理员权限(可通过修改注册表,或者组策略改变)...
  13. 安利安卓模拟器-夜神模拟器
  14. 基于小波分解与LSTM的城市轨道短时客流预测
  15. 个人永久性免费-Excel催化剂功能第53波-无比期待的合并工作薄功能
  16. 【练习题】第二章--变量,表达式,语句(Think Python)
  17. JavaWeb之jsp
  18. ZOOM一直显示登录失败,出现Zoom登录失败:100000503,zoom登录失败错误代码1044
  19. 用更简单的方式画森林图
  20. U盘exe病毒还原文件以及永久防毒

热门文章

  1. 计算机二级基础知识整理
  2. 使用react实现后台管理系统项目
  3. Python爬虫教程:爬取800多所大学学校排名、星级等
  4. 仿网易腾讯新闻主界面功能
  5. 阿里巴巴开源数据库--OceanBase从使用聊到架构剖析
  6. php strtotime -1 day,PHP strtotime() 函数
  7. 一个java程序猿之路
  8. 操作系统 --- 多磁盘管理RAID
  9. 【特刊征稿】SI特刊“智能经济与管理”征稿(综合性期刊IF=3.8)
  10. 南通大学信息科学技术学院818数字系统原理与设计真题分布情况