توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تبدیل اسکی به هگز
omidan321
16 / October / 2013, 03:42 PM
سلام من یه رشته اسکی دارم مث رشته زیر :::::>>> I‘¼
از این قطعه کد معادل هگز گرفتم شده این رشته ::::: >>> 0x10 0x49 0x91 0xBC 0x16
حالا میخام با دلفی تابعی داشته باشم تا کد اسکی رو به هگز تبدیل کنه
منتظر نظرات اساتید گرامی هستم .
admin
16 / October / 2013, 09:09 PM
سلام.
این تبدیل هگز به اسکی
کد:
!**************************************
! Name: Convert Hex to Ascii
! Description:This converts hex to ascii. Good for sending raw packets to servers.
! By: Api
!
!**************************************
function HexToAsc(strData:string): string;
var sresult:string; sfinal:string; hexc:cardinal; i:integer;
begin
i:=1;
while i<=length(strData) do
begin
hexc := strtoint("$" + copy(strData,i,2));
sresult := inttostr(hexc);
sresult := chr(strtoint(sresult));
sfinal := sfinal + sresult;
i:=i+2;
end;
result := sfinal
end;
admin
16 / October / 2013, 09:14 PM
اینم تبدیل اسکی به هگز
کد:
ASCII to HEX (math)
These work on byte array to strings, also look at the Ord and Chr functions in Delphi.
BytesToHexStr does this [0,1,1,0] of byte would be converted to string := "30313130"; HexStrToBytes goes the other way.
--------------------------------------------------------------------------------
unit Hexstr;
interface
uses String16, SysUtils;
Type
PByte = ^BYTE;
procedure BytesToHexStr(var hHexStr: String; pbyteArray: PByte; InputLength: WORD);
procedure HexStrToBytes(hHexStr: String; pbyteArray: Pointer);
procedure HexBytesToChar(var Response: String; hexbytes: PChar; InputLength: WORD);
implementation
procedure BytesToHexStr(var hHexStr: String; pbyteArray: PByte; InputLength: WORD);
Const
*HexChars : Array[0..15] of Char = "0123456789ABCDEF";
var
*i, j: WORD;
begin
SetLength(hHexStr, (InputLength * 2));
FillChar(hHexStr, sizeof(hHexStr), #0);
j := 1;
for i := 1 to InputLength do begin
*hHexStr[j] := Char(HexChars[pbyteArray^ shr 4]); inc(j);
*hHexStr[j] := Char(HexChars[pbyteArray^ and 15]); inc(j);
*inc(pbyteArray);
end;
end;
procedure HexBytesToChar(var Response: String; hexbytes: PChar; InputLength: WORD);
var
i: WORD;
c: byte;
begin
SetLength(Response, InputLength);
FillChar(Response, SizeOf(Response), #0);
for i := 0 to (InputLength - 1) do begin
*c := BYTE(hexbytes) And BYTE($f);
*if c > 9 then
*Inc(c, $37)
*else
*Inc(c, $30);
*Response[i + 1] := char(c);
end;{for}
end;
procedure HexStrToBytes(hHexStr: String; pbyteArray: Pointer);
{pbyteArray must point to enough memory to hold the output}
var
i, j: WORD;
tempPtr: PChar;
twoDigits : String[2];
begin
tempPtr := pbyteArray;
j := 1;
for i := 1 to (Length(hHexStr) DIV 2) do begin
*twoDigits := Copy(hHexStr, j, 2); Inc(j, 2);
*PByte(tempPtr)^ := StrToInt("$" + twoDigits); Inc(tempPtr);
end;{for}
end;
end.
--------------------------------------------------------------------------------
UNIT String16.
interface
{$IFNDEF Win32}
*procedure SetLength(var S: string; Len: Integer);
*procedure SetString(var Dst: string; Src: PChar; Len: Integer);
{$ENDIF}
implementation
{$IFNDEF Win32}
*procedure SetLength(var S: string; Len: Integer);
*begin
*if Len > 255 then
*S[0] := Chr(255)
*else
*S[0] := Chr(Len)
*end;
*procedure SetString(var Dst: string; Src: PChar; Len: Integer);
*begin
*if Len > 255 then
*Move(Src^, Dst[1], 255)
*else
*Move(Src^, Dst[1], Len);
*SetLength(Dst, Len);
*end;
{$ENDIF}
end.
منبع : <span style="font-family: trebuchet ms"><font size="3"><font color="Indigo"><b><font color="red">[فقط اعضاء انجمن قادر به مشاهده لینکها و عکسها می باشند <a href="/reg_iran.php" target="_blank">برای عضویت در سایت کلیک کنید</a>]</font></b></font></font></span>(math).html
Powered by vBulletin® Version 4.2.2 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.