|
zh159
金牌会员
     
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
16 楼』:
那就把0D0A换成一个或两个空格间隔(2020)
|
|
2006-7-19 15:55 |
|
|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
|
2006-7-19 15:59 |
|
|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
18 楼』:
你的第三条,把回车换行转成0D0A字符,这样就没有通用性了。
比如,一些程序都有根据行来查找字符选项,这样那就不行了。。
[ Last edited by GOTOmsdos on 2006-7-19 at 16:31 ]
|
|
2006-7-19 16:02 |
|
|
mornsmile
初级用户
 
积分 147
发帖 23
注册 2005-1-23
状态 离线
|
『第
19 楼』:
GOTOmsdos:
Quote: | bin2txt 1.0 BinToHexText convertor by grub2linux
Syntax :
bin2txt binFile textFile [/killline|n] [/lower]
binFile : binary file name.
textFile : text file name.
/killline : do not conserve RETURN & LINEFEEDs in binFile.
n : do not conserve RETURN & LINEFEEDs in binFile.
add a RETURN & LINEFEED every n bytes.
/lower : in lower case. |
|
用了后,发现个问题
当转换bin文件到txt时,要想得到编辑器格式(每16byte换行)bin文件中的回车信息就一定被删除,造成txt2bin时无法复原,如果不换行文本只有一行,用记事本打开又极慢,而且不易浏览,不知道这个问题是不是有办法克服,干脆直接固定文本格式,反正每十六位换行的文本看起来就是顺,各种工具转换的.HEX文件也是这样的!
|
|
2006-8-14 07:09 |
|
|
mornsmile
初级用户
 
积分 147
发帖 23
注册 2005-1-23
状态 离线
|
『第
20 楼』:
n : do not conserve RETURN & LINEFEEDs in binFile.
add a RETURN & LINEFEED every n bytes.
这个作用形同鸡肋
|
|
2006-8-14 07:18 |
|
|
mornsmile
初级用户
 
积分 147
发帖 23
注册 2005-1-23
状态 离线
|
『第
21 楼』:
Quote: | Originally posted by GOTOmsdos at 2006-7-19 04:02 PM:
你的第三条,把回车换行转成0D0A字符,这样就没有通用性了。
比如,一些程序都有根据行来查找字符选项,这样那就不行了。。
[ Last edited by GOTO ... |
|
这句不理解,另外多一个选项帮助txt还原成bin(不会造成回车歧义)不是更好吗?
修改是不是在这加个开关,对c不是很了解,不知道是不是这句
:(
if(dig==0x0D)
{
//sprintf(w,"%0X%0X",0x0D,0x0A);
fread(&dig0A,1,1,bin);
i++;
if(dig0A==0x0A)
{
if(doLine==0)
fwrite("\x0D\x0A",2,1,txt);
} [ Last edited by mornsmile on 2006-8-14 at 07:46 ]
|
|
2006-8-14 07:39 |
|
|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
22 楼』:
TO mornsmile
你要保留 回车换行 就不用 /killline|n,你要编辑器格式(每16byte换行)就把 N设为16,你既要编辑器格式(每16byte换行)又要原来的回车换行,那弄好后,就不是编辑器格式(每16byte换行)啦!
有换行和没换行是由你选择的呀。。
你说:
n : do not conserve RETURN & LINEFEEDs in binFile.
add a RETURN & LINEFEED every n bytes.
这个作用形同鸡肋 “
你能不能说一下理由?
|
|
2006-8-14 11:42 |
|
|
mornsmile
初级用户
 
积分 147
发帖 23
注册 2005-1-23
状态 离线
|
『第
23 楼』:
我的意思是不要把bin的0D0A转成换行符号,否则/killline|n后无法还原,就算有编辑器格式也不是原来的二进制信息,所以没有意义,当然我是指当处理含0D0A的bin时
|
|
2006-8-15 00:44 |
|
|
mornsmile
初级用户
 
积分 147
发帖 23
注册 2005-1-23
状态 离线
|
|
2006-8-15 00:52 |
|
|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
25 楼』:
n : do not conserve RETURN & LINEFEEDs in binFile.
add a RETURN & LINEFEED every n bytes.
以上的是一个有用的功能。
如果你要保留回车换行,就当然不用 /killline了嘛,保留嘛。
去掉这个,那要需要这个功能,不就遗憾了?
|
|
2006-8-15 00:55 |
|
|
mornsmile
初级用户
 
积分 147
发帖 23
注册 2005-1-23
状态 离线
|
『第
26 楼』:
我的意思,不知道有没有讲清楚
就是不要处理掉原来的回车
转换后的文本
Quote: | 0000544C4F5353206572726F72
00000053494E47206572726F72
00000000444F4D41494E206572726F72 |
|
改成
Quote: | 0000544C4F5353206572726F720D0A00000053494E47206572726F720D0A00000000444F4D41494E206572726F72 |
|
[ Last edited by mornsmile on 2006-8-15 at 01:15 ]
|
|
2006-8-15 01:13 |
|
|
GOTOmsdos
铂金会员
       C++启程者
积分 5154
发帖 1827
注册 2003-7-18
状态 离线
|
『第
27 楼』:
哦,是这个意思。。
你觉得这样有用,那可以加进去的。。。
|
|
2006-8-15 01:19 |
|
|
mornsmile
初级用户
 
积分 147
发帖 23
注册 2005-1-23
状态 离线
|
『第
28 楼』:
这才是原16进制码嘛,麻烦改一下高手
|
|
2006-8-15 01:22 |
|
|
mornsmile
初级用户
 
积分 147
发帖 23
注册 2005-1-23
状态 离线
|
『第
29 楼』:
你的源码也分享下:)
用bcb编译才9k
|
|
2006-8-15 01:25 |
|
|
mornsmile
初级用户
 
积分 147
发帖 23
注册 2005-1-23
状态 离线
|
『第
30 楼』:
还有不明白txt2bin的/killline|n是什么作用
|
|
2006-8-15 01:29 |
|