社区
C++ 语言
帖子详情
用二进制读取一个很大的txt文件,出现乱码,怎么解决?谢谢!急用!
unitsphere
2012-03-13 11:24:38
有一个很的大的文件要处理,其实文件连格式都没有。我就解压并且将文件扩展名换成txt用二进制读入且写入。可是一直是乱码。如何解决?很郁闷
...全文
600
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)
c语言 如何创建
txt
文件
,C++文本
文件
读写操作详解
本文详细介绍了C++中如何进行
文件
的读写操作,包括以文本形式和
二进制
形式。通过使用>>和<<操作符实现文本模式的读写,利用read()和write()方法处理
二进制
文件
。文中通过实例展示了如何打开、
读取
和写入
文件
,并解释了文本模式和
二进制
模式的区别。在文本模式下,数据会被解析为字符或字符串,而在
二进制
模式下,
文件
存储的是原始
二进制
数据,直接
读取
可能会显示为乱码。程序示例演示了从
一个
文件
读取
数据并写入到另
一个
文件
的过程。
UnityWebRequest
读取
本地
TXT
中文乱码:编码原理与根治方案
本文深入剖析UnityWebRequest
读取
本地
TXT
文件
时出现中文乱码的根本原因,聚焦于UTF-8(尤其无BOM)编码与Unity默认解码行为不匹配问题。重点指出UnityWebRequest在不同平台对BOM识别差异、系统默认编码干扰等核心陷阱,并提供基于DownloadHandler.data显式指定System.Text.Encoding.UTF8解码的可靠方案。强调跨平台统一采用UTF-8无BOM编码规范及工程化工具封装,覆盖Android、WebGL、iOS等平台适配要点。
3500字的
txt
文件
_三十二、深入Python中的
文件
操作
本文围绕Python语言的
文件
操作展开,介绍了编码方式,强调编码解码格式一致避免乱码。详细阐述
文件
操作API,包括打开、
读取
、写入、指针操作等,还提及上下文管理可自动关闭
文件
。此外,说明了如何批量
读取
多个
txt
文件
,并给出相关练习题目。
文本
文件
和
二进制
文件
的区别
本文详细解析了文本
文件
与
二进制
文件
的本质区别,包括它们的定义、存储及
读取
方式,并对比了各自的优缺点。
Qt资源
文件
(.qrc)深度解析:从原理到实战,
解决
界面乱码与部署难题
本文深入解析Qt资源
文件
(.qrc)的核心机制,涵盖资源编译流程(rcc工具、
二进制
内嵌、C++数组生成)、运行时虚拟
文件
系统(':/'协议、前缀匹配、内存加载),以及国际化(.qm
文件
资源化防乱码)、动态资源加载(QResource注册、.qrc外部包)、大型项目资源架构设计等关键技术。重点
解决
界面乱码、部署丢失、启动失败等典型问题,强调资源管理对健壮性、性能与可维护性的关键影响。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章