Delphi位元組轉換位元組陣列,delphi中怎麼將3個byte陣列轉換成一個位元組流?

2022-03-05 05:26:48 字數 4837 閱讀 5986

1樓:匿名使用者

你的**只讀出那個位元組又沒做別的處理,因此不用read了。因為你那三個位元組都是連續的,因此可以用一個byte陣列,如下:

varf :file;

buf: array[0..2] of byte;

begin

assignfile(f, '2.exe');

tryreset(f,1);

buf[0]:=$74;

buf[1]:=$31;

buf[2]:=$5c;

seek(f,300938);//從300938開始寫3個位元組blockwrite(f, buf, sizeof(buf));

finally

closefile(f);

end;

end;

2樓:匿名使用者

procedure tform1.btn4click(sender: tobject);

varf1:file of byte;

cc:byte;

alist:array of longint; //新加blist:array of longint; //新加i:integer; //新加

begin

setlength(alist, 3) ; //新加setlength(blist, 3) ; //新加alist[0]:=300938;

alist[1]:=300939;

alist[2]:=300940; //新加blist[0]$74;

blist[1]:=$31;

blist[2]:=$5c;

assignfile(f1,'2.exe');

tryfor i := 0 to 3 do //新加begin

reset(f1);

seek(f1,alist[i]); //修改 //定位到第300940個位元組處,位置你可以自己定

read(f1,cc); //讀出一個位元組,賦值給cc// cc:=$5c; //修改aa的值cc:=blist[i]; //新修改seek(f1,alist[i]); //重新定位,因為讀資料後,指標指向了下一個位元組

write(f1,cc); //將修改後的值寫回原位end;

finally

closefile(f1);

end; //end of tryend;

delphi中怎麼將3個byte陣列轉換成一個位元組流?

3樓:

用tmemorystream.write試試

delphi 中英文字串與位元組陣列 互轉

4樓:至少讓我看一眼

你的delphi是不是delphi2009以上的版本,如果是的話預設的string是widestring.你所說的7個位元組的string事實上是ansistring。方法一事實上可以簡化為:

const

str: ansistring = '中文abc';

varbuf: array of byte; len: integer;

begin

//獲取ansi字串的長度

len := length(str);

//設定buf陣列的長度

setlength(buf,len);

//複製資料到buf陣列

move(str[1],buf[1],len);

end;

而複製buf的方法,就是上面方法的反操作:

const

str: ansistring = '中文abc';

varbuf: array of byte; len: integer;

astr: ansistring; trgstr: string;

begin

//獲取ansi字串的長度

len := length(str);

//設定buf陣列的長度

setlength(buf,len);

//複製資料到buf陣列

move(str[1],buf[1],len);

//獲取buf陣列的長度

len := length(buf);

//設定需要複製的ansi字串的長度

setlength(astr,len);

//從buf陣列複製資料

move(buf[1],astr[1],len);

//將資料複製到trgstr字串

trgstr := astr;

//顯示trgstr

showmessage(trgstr);

end;

5樓:匿名使用者

delphi 的 string 本來就是單位元組儲存,顯示的時候由作業系統畫布自動區分中文英文,你直接按位元組取出來就可以。中文字元雙位元組的每個位元組的值都大於等於 $80 ,西文字元的位元組的值都小於 $80 。

delphi中byte陣列和string之間怎樣相互轉換

6樓:匿名使用者

vararrbyte: array[0..2] of byte;

str1: string;

i: integer;

begin

for i := 0 to length(arrbyte)-1 dostr := str + inttostr(arrbyte[i]);//byte to string;

for i := 0 to length(str)-1 doarrbyte[i] := byte(str[i]);//string to byte

strcopy(pchar(@arrbyte),pchar(str));//string to byte

end;

delphi中byte型別怎麼轉為字元型

7樓:匿名使用者

用char()

varss:byte;

begin

ss:=$31;

showmessage(char(ss));

如果你是想byte:=9 的時候 轉為字串9那就直接用 inttostr()

delphi 中,byte陣列如何賦值呢?

8樓:符映天彤白

procedure tform1.button1click(sender: tobject);

varbs: tbytes;

i: integer;

begin

setlength(bs, 4);

bs[0] := $10;

bs[1] := $27;

bs[2] := 0;

bs[3] := 0;

i := pinteger(bs)^;

showmessage(inttostr(i));

end;

procedure tform1.button2click(sender: tobject);

varbs: array[0..3] of byte;

i: integer;

begin

bs[0] := $10;

bs[1] := $27;

bs[2] := 0;

bs[3] := 0;

i := integer(bs);

showmessage(inttostr(i));

end;

procedure tform1.button3click(sender: tobject);

type

tdata = packed record

a: integer;

b: word;

end;

varbs: array[0..5] of byte;

data: tdata;

begin

fillchar(bs, length(bs), 0);

bs[0] := $10;

bs[1] := $27;

data := tdata(bs);

showmessage(inttostr(data.a));

end;

procedure tform1.button4click(sender: tobject);

type

tdata = packed record

a: integer;

b: word;

end;

varbs: array[0..3] of byte;

data: tdata;

begin

fillchar(bs, length(bs), 0);

bs[0] := $10;

bs[1] := $27;

data.a := integer(bs);

showmessage(inttostr(data.a));

end;

delphi中怎樣把string轉為array of byte

9樓:

以下為示例**:

procedure tform1.button1click(sender: tobject);

vars:string;

ab:array of byte;

i:integer;

begin

s:='this is a test';

setlength(ab,length(s));

for i:=1 to length(s) doab[i]:=byte(s[i]);

end;

字佔幾個位元組?位元組是什麼一個字佔幾個位元組?位元組是什麼?

ascii碼 一個英文字母 不分大小寫 佔一個位元組的空間,一位元組 byte 是計算機資訊科技用於計量儲存容量和傳輸容量的一種計量單位,1個位元組等於8位二進位制。在微型計算機中,通常用多少位元組來表示儲存器的儲存容量。1箇中文漢字佔兩個位元組的空間。一個二進位制數字序列,在計算機中作為一個數字單...

位元組字位位元這四者之間的關係是什麼

1位 1位元 1字 2位元組 1位元組 8位 1字 16位。1 位位是計算機儲存的最小單位,簡記為b,也稱為位元 bit 計算機中用二進位制中的0和1來表示資料,一個0或1就代表一位。位數通常指計算機中一次能處理的資料大小 2 位元 位元 bit 是由英文bit音譯而來,位元同時也是二進位制數字中的...

未來的食物作文節尾,未來的食物作文49位元組尾

一天下bai午,我剛剛與同學分手du,準備回zhi家。這時,dao因為我剛才玩得內起勁感覺渾身發容 熱,口乾舌噪。我抬頭向四周望,看見離這不遠處有一家商店,有冷飲買。我一摸口袋,有十元錢。我就去那家商店買冷飲吃。我走到商店門口,看見一位阿姨。她非常熱情地招呼我,說 小朋友,買什麼?我買一根五角錢的綠...