![]() |
ELF-Hash mit Unicode OK?
Hallo,
hier im Forum habe ich folgenden Code gefunden um aus einem String einen ELF-Hash zu erzeugen. Kann ich diese Funktion mit Delphi 2009 und Unicode nutzen? Es lässt sich ohne Probleme compilieren, doch ob das auch logisch richtig ist, kann ich nicht prüfen, da mir das Wissen dazu fehlt. Danke!
Delphi-Quellcode:
Function HashFromStr(Const Value: String): Cardinal; // ELF-Hash
Var i: Integer; x: Cardinal; Begin Result := 0; For i := 1 To Length(Value) Do Begin Result := (Result Shl 4) + Ord(Value[i]); x := Result And $F0000000; If (x <> 0) Then Result := Result Xor (x Shr 24); Result := Result And (Not x); End; End; |
Re: ELF-Hash mit Unicode OK?
Ja, du kannst diese Funktion so mit D2009 verwenden, aber es kommt unter Umständen ein anderer Hashwert raus, als wenn dieser mit einer AnsiVersion dieser Funktion erstellt würde. (speziell bei Zeichen ab #128)
|
Re: ELF-Hash mit Unicode OK?
Danke!
|
Re: ELF-Hash mit Unicode OK?
bitte
[info] Wenn diese Funktion die selben Ergebnisse liefern soll, wie unter älter Delphis, (z.B. für eine Komunikation bzw. einen Datenaustausch mit einem älterem Delphi-Programm) dann einfach String durch AnsiString ersetzen, aber dann ist diese Funktion natürlich nicht mehr Unicodefähig. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz