社区
C++ 语言
帖子详情
用二进制读取一个很大的txt文件,出现乱码,怎么解决?谢谢!急用!
unitsphere
2012-03-13 11:24:38
有一个很的大的文件要处理,其实文件连格式都没有。我就解压并且将文件扩展名换成txt用二进制读入且写入。可是一直是乱码。如何解决?很郁闷
...全文
524
25
打赏
收藏
用二进制读取一个很大的txt文件,出现乱码,怎么解决?谢谢!急用!
有一个很的大的文件要处理,其实文件连格式都没有。我就解压并且将文件扩展名换成txt用二进制读入且写入。可是一直是乱码。如何解决?很郁闷
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jaeo74
2012-03-13
打赏
举报
回复
如果确定有字 但还看不到的话 可以考虑是不是被压缩过了
baichi4141
2012-03-13
打赏
举报
回复
除非文件内容就是ASCII码构成的字符串
否则乱码没商量
楼主你可以用txt打开exe文件,打开chm文件,打开rar文件,打开各种各样的文件
哪个不是乱码?
文件内的数据是有结构的,无视结构全部直接按ASCII码文本打开,不出错才有鬼
lhy
2012-03-13
打赏
举报
回复
如果不是英文出乱码很正常。
lily0628
2012-03-13
打赏
举报
回复
你是一个字符一个字符读的么?
试一试一次读一整块内容
File* fd;
char* buffer;
fd=fopen("demo","rb"); //用二进制模式读
int len = fread(buffer , 1, 10000,fd);//读的长度自己定
printf("%s\n", buffer);
unitsphere
2012-03-13
打赏
举报
回复
你也需要?[Quote=引用 9 楼 lanfeng_10 的回复:]
mark下···
[/Quote]
unitsphere
2012-03-13
打赏
举报
回复
不用这么复杂吧?我只是想看到数字或字母而已
[Quote=引用 7 楼 hzy694358 的回复:]
不知道数据结构那就只能自己分析了,
用UE工具,直接二进制分析得到数据结构
不过这个比较繁琐
[/Quote]
hzy694358
2012-03-13
打赏
举报
回复
不知道数据结构那就只能自己分析了,
用UE工具,直接二进制分析得到数据结构
不过这个比较繁琐
unitsphere
2012-03-13
打赏
举报
回复
数据结构?我也不知道。txt总共1G多, 我也没看过的。应该有文字有数据。我也不知道是英语还是德语[Quote=引用 5 楼 hzy694358 的回复:]
乱码很正常么,主要是你要知道里面的数据结构
如果是string的话才可以正常显示
[/Quote]
hzy694358
2012-03-13
打赏
举报
回复
乱码很正常么,主要是你要知道里面的数据结构
如果是string的话才可以正常显示
unitsphere
2012-03-13
打赏
举报
回复
原来是代码
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <cstdlib>
#include "math.h"
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int main()
{
const int num=128;
int counts[num]={0};
ifstream ifile("demo", ios::binary);
ofstream ofile("result.txt",ios::binary);
while (!ifile.eof( ))
{
char ch = ifile.get( );
ofile.put(char(ch));
cout << char(ch) << '\t' << endl;
}
ifile.close();
ofile.close();
}
[Quote=引用 1 楼 czh3642210 的回复:]
都不用换扩展名的。。。。直接读就好了。。你把你打开文件的代码发下
[/Quote]
unitsphere
2012-03-13
打赏
举报
回复
刚才那个使用unicode读的
这个乱码是为二进制的
1400/ 000755 000765 000024 00000000000 11715211510 013126 5 ustar 00ericopsomer staff 000000 000000 1400/._.DS_Store 000644 000765 000024 00000000122 11715211515 015026 0 ustar 00ericopsomer staff 000000 000000 Mac OS X 2 R @ [Quote=引用楼主 unitsphere 的回复:]
有一个很的大的文件要处理,其实文件连格式都没有。我就解压并且将文件扩展名换成txt用二进制读入且写入。可是一直是乱码。如何解决?很郁闷
[/Quote]
unitsphere
2012-03-13
打赏
举报
回复
这样的,乱码是
ǜj?鑑偓葬#P\?'韵?拡?嶗
[Quote=引用楼主 unitsphere 的回复:]
有一个很的大的文件要处理,其实文件连格式都没有。我就解压并且将文件扩展名换成txt用二进制读入且写入。可是一直是乱码。如何解决?很郁闷
[/Quote]
面包大师
2012-03-13
打赏
举报
回复
都不用换扩展名的。。。。直接读就好了。。你把你打开文件的代码发下
unitsphere
2012-03-13
打赏
举报
回复
实际上,我用啦C++ 还有JAVA两种程序, 一种使用Unicode 一个是这个二进制。 二进制出来的结果似乎更好一些。Unicode 是中文
[Quote=引用 23 楼 xiarl 的回复:]
首先,文件不需要后缀名,那是方便查询识别用的。代码里读写时也不用。
其次你要是文件本身就是二进制写入的,那么什么样的数据都可能出现,你确定那是文本文件?其实,从你那看多半不是文本文件,哪个文本文件会那么大。
另外,你贴的代码不是unicode的。main做入口函数是unicode么?以我的经验vs似乎不是,不知道你的环境。
再次,你最终想达到什么目的?
嘻嘻
[/Quote]
酒鬼
2012-03-13
打赏
举报
回复
首先,文件不需要后缀名,那是方便查询识别用的。代码里读写时也不用。
其次你要是文件本身就是二进制写入的,那么什么样的数据都可能出现,你确定那是文本文件?其实,从你那看多半不是文本文件,哪个文本文件会那么大。
另外,你贴的代码不是unicode的。main做入口函数是unicode么?以我的经验vs似乎不是,不知道你的环境。
再次,你最终想达到什么目的?
嘻嘻
unitsphere
2012-03-13
打赏
举报
回复
原来的数据是在MAC里面显示的,在Windows下会不会有问题
另外我这样读的话还是可以看到数字,就是写的字母似乎看不到
[Quote=引用 21 楼 hzy694358 的回复:]
你的文件里都是些什么数据,你能举例说明吗
如果内容本就都字串的话,就简单了,直接读取,
选择正确字符集就可以显示出来了,
如果是其他的数据,当然要分析了
[/Quote]
hzy694358
2012-03-13
打赏
举报
回复
你的文件里都是些什么数据,你能举例说明吗
如果内容本就都字串的话,就简单了,直接读取,
选择正确字符集就可以显示出来了,
如果是其他的数据,当然要分析了
unitsphere
2012-03-13
打赏
举报
回复
什么是数据结构?怎么才能知道[Quote=引用 5 楼 hzy694358 的回复:]
乱码很正常么,主要是你要知道里面的数据结构
如果是string的话才可以正常显示
[/Quote]
unitsphere
2012-03-13
打赏
举报
回复
如何解决?
[Quote=引用 12 楼 lhylhy 的回复:]
如果不是英文出乱码很正常。
[/Quote]
unitsphere
2012-03-13
打赏
举报
回复
谢谢啦,可是这个代码 很多错误。
没有注释
还有警告[Quote=引用 17 楼 zhao4zhong1 的回复:]
C/C++ code
#include <sys\stat.h>
#include <io.h>
#include <fcntl.h>
#include <share.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define MAX_CLU_BYTES 6553……
[/Quote]
加载更多回复(3)
ORACLE11g 没有控制
文件
如何通过rman备份恢复数据的详细实战过程
而2016年初因为进行迁移,所以有些
文件
可能丢失,手上只有rman全备
文件
,希望在一天之内找回,集团
一个
副总裁在等着这个数据有
急用
。 我在电话里面说马上去做,接完电话,想到只有rman备份
文件
,而且是备份的数据...
我在CSDN参与的3000个帖子
2:100分急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望高手帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,...
WEB开发文档2 总结
http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx怎样将后台生成的在内存中的图象显示到客户端Microsoft IE WebControls下载地址如何在DATAGRID中使用JAVASCRIPT脚本控制DataGrid中连接到下一页显示...
03 - Java核心类库—IO
Java核心类库-IO一、
文件
-IO1、java.io.File1.1 概述1.2 构造方法1.3 常用方法1.4 字段2、
文件
遍历案例3、
文件
过滤器(了解)3.1 概述3.2 应用实例4、相对路径与绝对路径---------------------...一、
文件
-IO 1、java.i
Linux笔记:1-基础知识
接下来BIOS会去分析计算机里面有哪些储存设备, 我们以硬盘为例, BIOS会依据使用者的设置去取得能够开机的硬盘, 并且到该硬盘里面去
读取
第
一个
扇区的MBR位置。MBR这个仅有446 Bytes的硬盘容量里面会放置最基本的...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章