16進製制位元組操作的幾個函式

2021-09-07 22:19:28 字數 1595 閱讀 6687

//取十六進製制字串第n位元組值  位元組之間有個空格

function agetbyteat(hexvalue:string; n:integer):string;

begin

result:=copy(hexvalue,(n-1)*3+1,2);

end;

//取十六進製制字串從第n位元組開始的連續m個位元組  位元組之間有個空格

function agethexsubstr(hexvalue:string; n, m : integer):string;

vari: integer;

temp: string;

begin

temp:='';

for i:=n to n+m-1 do

temp:=temp+agetbyteat(hexvalue,i);

result:=temp;

end;

//16進製制字串轉換成字串

function hexstrtostra(s:string):string;

vart:integer;

ts:string;

m,code:integer;

begin

t:=1;

result:='';

while t<=length(s) do

begin  

while (t<=length(s)) and (not (s[t] in ['0'..'9','a'..'f','a'..'f'])) do

inc(t);

if (t+1>length(s))or(not (s[t+1] in ['0'..'9','a'..'f','a'..'f'])) then

ts:='$'+s[t]

else

ts:='$'+s[t]+s[t+1];

val(ts,m,code);

if code=0 then

result:=result+chr(m);

inc(t,2);

end;

end;

//字串轉換成16進製制字串

function strtohexstra(s:string):string;

vari:integer;

begin

for i:=1 to length(s) do

begin

if i=1 then

result:=inttohex(ord(s[1]),2)

else result:=result+' '+inttohex(ord(s[i]),2);

end;

end;

//位元組間加空格

function  addspacesep(const s: string): string;

vari: integer;

begin

result := '';

for i := 1 to length(s) do

begin

result := result + s[i];

if i mod 2 = 0 then

result := result + ' ';

end;

end;

16進製制位元組操作的幾個函式

取十六進製制字串第n位元組值 位元組之間有個空格 function agetbyteat hexvalue string n integer string begin result copy hexvalue,n 1 3 1,2 end 取十六進製制字串從第n位元組開始的連續m個位元組 位元組之間有...

位元組陣列 16進製制數

class ox else return str public static void hexstringtobytes ref byte buf,ref int len,string hexstr len i 1 一位元組是8為2進製,也就是2為16進製制 是兩位,比如ox03才代表16進製制的3...

UIColor的16進製制色值,16進製制字串擴充套件

inte ce uicolor hex 16進製制字串轉化為顏色 param hexstr 16進製制字串 支援 0x.0x.return uicolor uicolor colorwithhexstring nsstring hexstr 16進製制字串轉化為顏色 param hexstr 16進...