|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
biznow (biznow) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2015/10/3 1:42:21 |
标题: |
|
加入我的收藏 |
楼主: |
demo3.txt为原始的txt文档,TMemo读入不完整 demo_notepadSaveAs.txt为记事本打开后另存文件,TMemo读入正常
此帖子包含附件:
大小:12.3K |
----------------------------------------------
- |
作者: |
biznow (biznow) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2015/10/3 1:43:00 |
1楼: |
demo附件
----------------------------------------------
-
|
作者: |
|
2015/10/3 7:18:44 |
2楼: |
是不是 控 后面遇到 特俗字符了?
----------------------------------------------
我打的是酱油,而不是别的什么油。 我灌的是口水,而不是别的什么水。 我聊的折腾不是那个不折腾的折腾。 我说的阿娇不是那个邓玉娇的阿娇。 3个代表,6个为什么,9个肠胃炎。 D性强的领导干部都不喜欢热比娅。 我特别要讲的是,屁民网黄色论坛是我经常上网必选的 网站之一
|
作者: |
biznow (biznow) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2015/10/3 7:57:13 |
3楼: |
特殊字符是一定的,但是notepad是可以正常打开的,而且以另存的方式delphi打开没有任何问题,那说明delphi的转换一定出了问题。
----------------------------------------------
-
|
作者: |
|
2015/10/3 9:37:52 |
4楼: |
看了一下,控后面刚好有个NULL,所以只能说处理的方式不一样吧。。。如果你要显示全部,在加载前先对流进行处理,去除Null字符就可以了。估计记事本对这个也进行了处理吧。所以你用记事本另存为就会发现没有NUll字符了。
----------------------------------------------
-
|
作者: |
xjia (xjia) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2015/10/3 10:20:15 |
5楼: |
delphi 字符串遇到00就认为字符串结束了,所以这是完全正常
----------------------------------------------
-
|
作者: |
biznow (biznow) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2015/10/3 12:49:57 |
6楼: |
确实是这个结束符引起的,我好奇的是UE,Notepad这些软件是怎么打开的。
此帖子包含附件:
大小:10.2K |
----------------------------------------------
-
|
作者: |
|
2015/10/3 13:11:00 |
7楼: |
已经说的很清楚了,Notepad读取时把#0换成了#32,你可以真观看到“控”后面是一个空格。 至于notepad2或者其它高级的比如010editor,uc什么,他们的处理更智能,内部仍会以流的形式不动,显示时会给你标记成NULL,比如notepad2是这样处理的。 总之,关键是看你怎么预处理了,反正,用TByteStream进行预先替换是最简单的方法。
此帖子包含附件:
大小:14.9K |
----------------------------------------------
-
|
作者: |
|
2015/10/3 13:14:33 |
8楼: |
如图 1为Demo3预处理再加载,同notepad的方式 2是原样显示Hex 3是你那个Save过的。
此帖子包含附件:
大小:25.7K |
----------------------------------------------
-
|
作者: |
biznow (biznow) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2015/10/3 13:33:55 |
9楼: |
okay,谢谢各位,看来必须预处理加载了
----------------------------------------------
-
|
|