将十六进制字符串转换为bash命令行中的ascii
发布时间:2020-12-15 18:51:08 所属栏目:安全 来源:网络整理
导读:我有很多这样的字符串,我想找到一个命令来转换它在ascii,我尝试用echo -e和od,但它没有工作. 0xA7.0x9B.0x46.0x8D.0x1E.0x52.0xA7.0x9B.0x7B.0x31.0xD2 此代码将文本0xA7.0x9B.0x46.0x8D.0x1E.0x52.0xA7.0x9B.0x7B.0x31.0xD2转换为具有等效值的11个字节的流.
我有很多这样的字符串,我想找到一个命令来转换它在ascii,我尝试用echo -e和od,但它没有工作.
0xA7.0x9B.0x46.0x8D.0x1E.0x52.0xA7.0x9B.0x7B.0x31.0xD2
此代码将文本0xA7.0x9B.0x46.0x8D.0x1E.0x52.0xA7.0x9B.0x7B.0x31.0xD2转换为具有等效值的11个字节的流.这些字节将被写入标准输出.
TESTDATA=$(echo '0xA7.0x9B.0x46.0x8D.0x1E.0x52.0xA7.0x9B.0x7B.0x31.0xD2' | tr '.' ' ') for c in $TESTDATA; do echo $c | xxd -r done 正如其他人所指出的,这不会导致可打印的ASCII字符串,因为指定的字节不是ASCII.您需要发布有关您如何获取此字符串的更多信息,以帮助您. 如何工作:xxd -r将十六进制数据转换为二进制数(如反向hexdump). xxd要求每一行都从行上的第一个字符的索引号开始(在某些东西上运行hexdump,并查看每行如何从索引号开始).在我们的情况下,我们希望该数字始终为零,因为每个执行只有一行.幸运的是,我们的数据在每个字符之前已经有零,这是0x符号的一部分.小写x被xxd忽略,所以我们要做的就是将每个0xhh字符管道传递给xxd,并让它执行工作. tr将句点转换为空格,以便将其正确分割. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- WebService 笔记
- 2017 前端大事件和趋势回顾,2018 何去何从?
- 在angularjs ver 1.3.0中使用ng-controller时出错
- docker – 我可以在不下载图像的情况下获得图像摘要吗?
- WebService之Axis2快速入门(5): 管理会话(Session)
- angularjs – TypeScript错误:TS2304:找不到名称’Date’
- 如何使用AngularJS在我的http请求中发送参数?
- 利用 Jekyll-Bootstrap 搭建 github blog 简单记录
- regex – Vim – 如何在所有缓冲区中运行非正常模式命令?
- 使用 yum 安装Docker(CentOS 7下)