当前位置:首页 » 办公资讯 » 怎样生成全是1的二进制文件

怎样生成全是1的二进制文件

发布时间: 2022-06-21 02:09:19

㈠ 写二进制文件

8 = 1b
2^10b = 1k
2^20b = 1m
2^30b = 1g
512m?
你要这么多的随机0和1干什么?
不明白!
摸不着头脑的事我一般不思考!
我还是先想想怎么让vb脱离框架的问题吧!

摸着头脑滴走开!

㈡ 如何生成一个二进制文件

文件在底层的写法都是一样的,就是写char值,读取区分的是文件类型(从PE获取),也就是说在最底层写文件方法都是一样的,类似CStdio等都是封装过的,你的意思估计是要自己写PE的方法(类似生成EXE的方法),要自己处理PE头、各段分区(非常复杂),一般都是找个exe自己来修改PE头、段地址和data数据区

㈢ 如何创建一个大小为1G的空文件

创建内容为空的任意大小文件:

运行cmd打开命令行界面,然后切换到相应目录,比如说,d:\temp_folder,那么输入D:回车,然后输入cd temp_folder,当前路径变成d:\temp_folder。

然后输入fsutil file createnew testfile.txt 50000000,就会在当前文件夹创建一个名称为testfile.txt的文件,大小为50000000个字节,即47.6M大小。文件会瞬间生成,因为实际上Windows只是分配了名称、地址和空间给该文件,并没有读写任何文件内容,所以很快,跟删除文件同理。

如果你要创建一个100M的文件,那么文件大小应该是1024 X 1024 X 100,fsutil命令最后一段就用这个公式计算得的结果,如果是1G大小的文件,那么就是1024 X 1024 X 1024 X 1。

㈣ 如何将一个文件转换成二进制文件

文件都是以二进制存储,根据扩展名不同选择不同方式进行打开

㈤ (哈夫曼压缩)将01字符串转换为二进制文件的方法

//你没说什么语言!如果需要其它的话,我再翻译一下!
//没什么效率,但是满足需求了
importjava.io.*;

publicclassZ{

publicstaticvoidmain(String[]args)throwsException{
//System.out.println(decode(encode("00001000")));
//System.out.println(decode(encode("11111000")));
writeHuffman("011");
System.out.println(readHuffman());
}

//每次传进去的字符串都是8个字符长度,刚好能够表示一个byte
publicstaticbyteencode(Strings){
inta=0;
for(inti=0;i<8;i++){
charch=s.charAt(i);
a=a<<1;
if(ch=='1'){
a=a|0x1;
}
}
return(byte)a;
}

//上一步的逆操作
publicstaticStringdecode(byteb){
StringBuildersb=newStringBuilder();
for(inti=0;i<8;i++){
sb.append((b&(0x1<<(7-i)))>0?'1':'0');
}
returnsb.toString();
}

//再写一下文件操作
//假设你已经得到了通过huffman树编码的字符串,那么就这样写写入文件
publicstaticvoidwriteHuffman(Strings)throwsException{
//因为huffman编码字符串不总是8个字符的倍数,那么我们不足8时补0,并记录我们到底补了几个。
//我们把补位数放在文件的第一个字节
intz=8-s.length()%8;
if(z==8){
z=0;
}
byte[]buffer=newbyte[1024];
buffer[0]=(byte)z;
intpos=1,nBytes=(int)(Math.ceil(s.length()/((double)8)));
Filef=newFile("test.huffman");
FileOutputStreamos=newFileOutputStream(f);
for(inti=0;i<nBytes;i++){
Stringss;
if(s.length()>=(i+1)*8){
ss=s.substring(i*8,(i+1)*8);
}else{
ss=s.substring(i*8);
while(ss.length()<8){
ss=newStringBuilder(ss).append('0').toString();
}
}
buffer[pos]=encode(ss);
pos++;
if(pos==1024){
os.write(buffer);
pos=0;
}
}
if(pos>0){
os.write(buffer,0,pos);
}
os.close();
}


//我们把压缩过的文本放在test.huffman里面
publicstaticStringreadHuffman()throwsException{
Filef=newFile("test.huffman");
FileInputStreamfs=newFileInputStream(f);
byte[]buffer=newbyte[1024];
intlen=0;
StringBuildersb=newStringBuilder();
bytez=(byte)fs.read();
while((len=fs.read(buffer))!=-1){
for(inti=0;i<len;i++){
sb.append(decode(buffer[i]));
}
}
fs.close();
returnsb.substring(0,sb.length()-z);
}

}

c++ 版本

#include"stdafx.h"
#include<stdio.h>
#include<iostream>
#include<string>
#include<cmath>

usingnamespacestd;

unsignedcharencode(constchar*s){
inta=0;
for(inti=0;i<8;i++){
if(s[i]=='1'){
a=a|(0x1<<(7-i));
}
}
return(unsignedchar)a;
}

voiddecode(unsignedchara,char*buf){
for(inti=0;i<8;i++){
buf[i]=(((a>>(7-i))&0x1)!=0)?'1':'0';
}
}

voidwriteHuffman(conststring&s){
unsignedcharz=8-s.length()%8;
if(z==8){
z=0;
}
unsignedcharbuffer[1024];
buffer[0]=z;

intpos=1,nBytes=(int)(ceil(s.length()/((double)8)));
constchar*ps=s.c_str();
FILE*fp=fopen("test.huffman","wb");
charextended[8];
for(inti=0;i<nBytes;i++){
constchar*p;
if(s.length()>=(i+1)*8){
p=ps+i*8;
}
else{
char*pp=extended;
for(intj=i*8;j<s.length();j++){
*pp=s[j];
pp++;
}
for(intj=0;j<z;j++){
*pp='0';
pp++;
}
p=extended;
}
buffer[pos]=encode(p);
pos++;
if(pos==1024){
fwrite(buffer,sizeof(unsignedchar),1024,fp);
pos=0;
}
}

if(pos>0){
fwrite(buffer,sizeof(unsignedchar),pos,fp);
}

fclose(fp);

}

string&readHuffman(){
FILE*fp=fopen("test.huffman","rb");
fseek(fp,0L,SEEK_END);
size_tfileSize=ftell(fp);
rewind(fp);

unsignedcharbuffer[1024];
fread(buffer,sizeof(unsignedchar),1,fp);
unsignedcharz=buffer[0];

size_tstringSize=(fileSize-1)*8;
char*ptr=newchar[stringSize+1];
char*optr=ptr;
size_tlen;
while((len=fread(buffer,sizeof(unsignedchar),1024,fp))!=0){
for(inti=0;i<len;i++){
decode(buffer[i],ptr);
ptr=ptr+8;
}
}
fclose(fp);
ptr=ptr-z;
*ptr='';
string*str=newstring(optr);
delete[]optr;
return*str;
}

intmain(void)
{
writeHuffman("00010");
cout<<readHuffman()<<endl;
getchar();
return0;
}

㈥ 如何用shell命令生成1M全1的二进制文件

使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …] Change group association of files. With -R, make the change recursively through the directory structure. The user must be the owner of files, or else a super-user. Additional information is in the Permissions User Guide. –>改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。更多的信息请参见HDFS权限用户指南。

㈦ 如何创建一个二进制文件用C语言调用.

只是创建一个二进制文件,可以通过文件打开关闭的方式实现,即

FILE *fp;
fp = fopen(FILE_NAME, "wb");
fclose(fp);
这样一个名字为FILE_NAME值的二进制文件就创建了。
不过这样创建的二进制文件是空的,里面没有数据,从表象上看,就是文件大小为0。

所以在fopen后,可以向其中写需要的数据,即
fwrite(str, size_per_time, times, fp);
实现向文件写入的操作,即从str开始,写入times次,每次size_per_time字节的数据。
实际效果为写入从str开始,共计size_per_time * times字节的数据。

㈧ c语言是如何编译成二进制

源代码会经过预编译--->编译---->汇编----->连接几个步骤最终生成可执行文件.
1.预编译,把源代码中的宏展开并把包含的文件的源代码插入程序的源代码中.
2.编译,把源代码编译成二进制的目标文件.但是此时目标文件还是不可执行的.
3.汇编,这一步主要是处理源代码中的汇编代码.
4.连接,把目标代码和二进制的库文件以及其它内容合并成最终的可执行文件.

㈨ 如何将一段音频文件转换为二进制01码

建议使用格式工厂转换,一款很方便的格式转换工具: 第一步:打开格式工厂,按照下图操作: 第二步:选择所要转换的文件,如下图步骤所示: 第三步:选中目标文件,单击开始等待转换完成后就可以在输出文件夹中找到转换好的MP3格式的文件了。

㈩ java如何把一个以文本存储的文件转化为二进制文件

不需要转换。
解释:任何文件的存储都是通过二进制的形式进行存储的,只不过经过机器语言编译后,展示给用户的体验是中文或者是字符串形式。
备注:如果是想将数字转换为二进制,可以直接通过Integer的toBinaryString方法直接进行转换,举例:
int i =8;
System.out.println(Integer.toBinaryString(i));
输出结果就是:1000.

热点内容
马路上汽车的噪音在多少分贝 发布:2023-08-31 22:08:23 浏览:2185
应孕棒多少钱一盒 发布:2023-08-31 22:08:21 浏览:1652
标准养老金一年能领多少钱 发布:2023-08-31 22:05:05 浏览:1950
湖北通城接网线多少钱一个月 发布:2023-08-31 21:59:51 浏览:2019
开随车吊车多少钱一个月 发布:2023-08-31 21:55:06 浏览:1777
京东付尾款怎么知道前多少名 发布:2023-08-31 21:52:58 浏览:2102
在学校租铺面一个月要多少钱 发布:2023-08-31 21:52:09 浏览:2244
2寸有多少厘米 发布:2023-08-31 21:50:34 浏览:1882
知道电压如何算一小时多少电 发布:2023-08-31 21:46:20 浏览:1889
金手镯54号圈周长是多少厘米 发布:2023-08-31 21:44:28 浏览:2024