»
游客:
注册
|
登录
|
搜索
|
统计
|
帮助
喜悦国际村
»
JAVA/C/C++
» 关于处理二进制文件的问题,请高手来救呀
喜悦证交所已经关闭
上一主题
下一主题
标题: 关于处理二进制文件的问题,请高手来救呀
jack1582
(jack1582)
新手上路
一般会员
UID 28155
精华 0
积分 49
帖子 48
金钱 49 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2004-4-28
状态 离线
[广告]:
q
m
关于处理二进制文件的问题,请高手来救呀
我在处理一个编码问题的时候涉及到对文件二进制位的操作,但查了好多资料也找不到相关的位操作的函数,只是有一些叫“字段结构”,二进制文件块操作,但都不是我想要的呀,各位请帮忙呀?
比如,我想把一个ascii码文件里对应的8bit一组的编码通过哈夫曼编码改成变长的编码以实现压缩,我该怎么做呢?
这样比方吧:假设文件a.txt里有xyz三个字符,假设对应二进制为00000000,00000001,00000011(注:逗号是为方便看外加的),现在我要让它变成0,01,011。现在问题出来了,目前我所知道的函数都不能从0,1的级别上来读文件,一读就读至少8个bit,但我就想,这样我用新编码写文件时该怎么办喔?
请高手赐教啊!!!!!等
2005-7-10 06:39 PM
#1
yes22
(yes22)
高级会员
资深会员
UID 18719
精华 0
积分 931
帖子 931
金钱 931 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2003-3-5
状态 离线
[推荐阅读]
这个算法怎么做?
用open($filename,"rb+)可以读入2进制吧[我没实践过]
如果是8bit,你可以用0x1和他进行&运算,通过循环移位可以得到所有位的值.
2005-7-10 09:05 PM
#2
sanders_yao
版主
or2 =333
UID 30286
精华 0
积分 11755
帖子 4926
金钱 11752 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态
在线
[推荐阅读]
j急请帮我写个正则表达式,谢谢
用C的话
我用fread(void * buffer,size_t size,size_t count, FILE * stream);试一下
size的单位是byte,我试了一下没有成功
fread(buffer,1,1024, fp);之后
使用printf("\n%d",buffer
)将buffer数组中的值都显示出来后
都不是2进制的
不知道错在哪里
望高手指点
最近写的一些代码都会在以下地址发布,有兴趣的来批:
http://www.phpx.com/happy/thread-131368-1-1.html
2005-7-16 06:03 PM
#3
可打印版本
|
推荐给朋友
|
订阅主题
|
收藏主题
|
开通个人空间
论坛跳转 ...
技术论坛
> php基础编程
> PHP高级编程
> XML/HTML/CSS/Js
> 代码共享
> 建站讨论
> 喜悦原创
> 开源程序论坛
> ECShop官方技术论坛
> LAMP进阶文章
> JAVA/C/C++
> Windows/软硬件
> linux技术
> 数据库技术
非技术论坛
> 娱乐乐园
> 招聘&求职
> 跳蚤市场
> 广告时间
> 联盟项目组
> 站务问题
Powered by
Discuz!
6.1.0
© 2001-2010
Comsenz Inc.
Processed in 0.583421 second(s), 6 queries
(
冀ICP备05009913号
)
管理员:
sadly 邮箱/MSN: sadly@phpx.com QQ:824008
(长隐)
清除 Cookies
- -
Archiver
-
WAP