Zamiana tablicy byte'ów na "HEXy" i vice versa (C#)

Podążając za poprzednim wpisem, zamieszczam dwie przydatne metody do zamiany tablicy byte'ów (byte[]) na zapis szesnastkowy w stringu oraz metodę odwrotną. Metody są całkiem szybkie, na pewno wiele wydajniejsze od używania ToString("x2") czy Convert.ToByte(...).
Moja metoda BytesToHex() jest wzorowana na metodzie BitConverter.ToString(), która to niestety przymusowo wstawia nam kreski między każdym bajtem w zapisie szesnastkowym.
Natomiast moje HexToBytes() działa odwrotnie ;-)

Czytaj dalej...

Szybkie porównywanie dwóch tablic byte'ów (C#)

Dziś krótka notka. Przedstawię tylko szybką metodę do porównywania dwóch tablic byte'ów. Wykorzystuje ona wskaźniki (czyli wymaga użycia trybu unsafe), gdzie po odpowiednich rzutowaniach, porównujemy 64bitowe longi. Daje nam to około 5-10 krotne przyśpieszenie, w porównaniu do zwykłego porównywania byte'ów w pętli for.

Czytaj dalej...