如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/102677760
使用UE打开一个十六进制的文件,一复制才发现,粘贴出来的不是十六进制的,再转换居然还和原来的十六进制数据不同。很郁闷~
来吧,接下来就看一下UltraEdit怎么复制十六进制数据。
参看:UltraEdit如何转换16进制/如何复制16进制
一、复制十六进制数据
1、CTRL+A 全选
2、点击 编辑->十六进制复制选定视图,将数据粘贴到新建文件内
3、点击 编辑->列模式,通过 光标+shift 选中你要的十六进制数据,再将数据粘贴到新建文件内。
此时,复制了十六进制数据。
二、将所有十六进制数据合并成一行
找到一种将所有十六进制数据合并成一行的方法:
1、退出列模式,CTRL+A 全选,然后点击 格式->使用换行符换行
2、如果没有合成一行,再点击 视图->自动换行
此时,所有十六进制数据合并成了一行。
三、将数据换行对齐
但是还是有个小问题,我的十六进制数据是有报文头的,比如上面的21 23开头的,该怎么样让这些数据换行对齐方便分析呢??
1、找到报文头标志,全部替换成 ^p 或者 ^n, 来进行换行。
OK,到此就得到了我想要的数据了。
这样操作一波,就方便分析数据了,欧耶~
四、去空格和删除空行
有时候需要去除相应的空格
这样复制得到空格
将空格替换为空串(啥也不写)
删除空行也是同理
这样复制得到空行
将空行替换为空串(啥也不写)
五、使用EXCEL将Unix时间戳批量转换为北京时间
上面的日志里包含 十六进制的时间戳,需要先转换为十进制,然后再转换为北京时间
1、使用excel 将十六进制转十进制
现将如 5D DD 4C BD 的十六进制空格去掉,拷贝到excel表内。
在另外一列内输入 =HEX2DEC(A1) 其中的A1为输入十六进制的表格号。
按回车键得到十进制数据
2、使用excel将十进制时间戳转北京时间
在另外一列内输入=(B1+8 * 3600)/86400+70 * 365+19 ,其中B1 输入十进制的表格号。
按回车键
设置单元格格式:
最终得到北京时间:
如果是很多行的话将光标放置到表格右下角出现 + 往下拖就可以将所有行的数据都转换了。
最后利用UltraEdit 列模式操作一波就可以得到诸如这类的数据了。
下载: 十六进制时间戳转北京时间下载
六、批量删除指定字符所在的行
在[替换]对话框的[高级]中:[正则表达式引擎]选UltraEdit。
查找:
%*指定字符*^p
替换为:(空)
注:^p 是 DOS 文件类型的换行符.
如果是 Unix 类型文件,则用 ^n.
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/102677760