Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 将表示十六进制值的ascii转换为二进制数据_Bash_Binary_Hex_Ascii - Fatal编程技术网

Bash 将表示十六进制值的ascii转换为二进制数据

Bash 将表示十六进制值的ascii转换为二进制数据,bash,binary,hex,ascii,Bash,Binary,Hex,Ascii,我正在寻找一种将代表十六进制值的ascii数据转换为二进制文件的方法。 具体而言,通过将十六进制值转换为字符串,记录串行端口上与连接的def设备(在本例中为GPS接收器)的所有通信。 我要寻找的是一种将这些数据转换回二进制数据的方法。 基本上,我可以通过运行HxD编辑器并通过从日志中提取的字符串来完成这项工作。 我想做的是能够在命令行上这样做,而不需要手动将测试复制/粘贴到hex编辑器 行始终以wi B562开头,后跟值,例如06,在这种情况下,该值应导致输出(以字符串表示)为“µb” 例如,

我正在寻找一种将代表十六进制值的ascii数据转换为二进制文件的方法。 具体而言,通过将十六进制值转换为字符串,记录串行端口上与连接的def设备(在本例中为GPS接收器)的所有通信。 我要寻找的是一种将这些数据转换回二进制数据的方法。 基本上,我可以通过运行HxD编辑器并通过从日志中提取的字符串来完成这项工作。

我想做的是能够在命令行上这样做,而不需要手动将测试复制/粘贴到hex编辑器

行始终以wi B562开头,后跟值,例如06,在这种情况下,该值应导致输出(以字符串表示)为“µb”

例如,我正在编辑一个文件,其中包含我要转换的数据,以及HxD编辑器编写的结果文件。可以使用u.blox.com提供的名为u-center的工具打开并重放生成的文件。它显示正在记录的卫星信息。。。 输入文件 输出文件

谢谢你的支持。
-Wasili

您可以使用以下方法将表示十六进制值的ASCII转换为二进制数据:

xxd -r -ps log01.ublox.tmp output.ubx

欢迎收看Stackoverflow。如果您给出输入文件的示例和预期输出的明确说明,您的问题将更容易理解和回答。例如,输入记录之间的分隔符是什么?新线?输出二进制值之间需要什么分隔符?新线?没有什么输入(输出)值的字节数?什么是持久性?等等。谢谢你的提示,我编辑了这个问题并添加了可用于此转换的共享文件。C可能会更好。我知道在C中这不是问题,但我也可以使用HxD来代替开始编码。为了能够使用命令行工具,我刚才问Linux发行版中的标准工具是否存在这种方式,或者cygwin中的标准工具是否存在这种方式:)@laiki好吧,答案是由我发布的,Grant善意地更正了我的英语;-)。顺便说一句,如果你觉得答案有帮助,请投赞成票并点击问题旁边的复选标记接受答案。蒂亚!