當前位置:首頁 » 辦公資訊 » 怎樣生成全是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