HEX a DEC w RFID – jak przeliczyć numer karty i dlaczego wyniki się różnią?

0
HEX a DEC w RFID – jak przeliczyć numer karty i dlaczego wyniki się różnią?

HEX a DEC w RFID – jak przeliczyć numer karty i dlaczego wyniki się różnią?

HEX i DEC to dwa różne sposoby zapisu tej samej wartości liczbowej. W systemach RFID identyfikator karty lub breloka może być przedstawiany w systemie szesnastkowym HEX albo dziesiętnym DEC.

Dlatego jedna karta może zostać odczytana przez jedno urządzenie jako:

00A6FDD4

a przez inne jako:

0010943956

i oba wyniki mogą być prawidłowe.

Problem komplikuje się, gdy czytnik dodatkowo zmienia kolejność bajtów, wykorzystuje tylko część UID albo konwertuje dane do formatu stosowanego przez system kontroli dostępu.

W tym poradniku wyjaśniamy, jak rozpoznać te formaty i poprawnie porównywać numery kart RFID.


Co oznacza HEX?

HEX, czyli system szesnastkowy, wykorzystuje 16 znaków:

0 1 2 3 4 5 6 7 8 9 A B C D E F

Litery odpowiadają wartościom:

HEX DEC
A 10
B 11
C 12
D 13
E 14
F 15

Przykładowy numer zapisany w HEX:

00A6FDD4

jest więc liczbą szesnastkową, a nie ciągiem przypadkowych liter i cyfr.


Co oznacza DEC?

DEC oznacza system dziesiętny.

Jest to system, którego używamy na co dzień, wykorzystujący cyfry od 0 do 9.

Przykładowo:

HEX

00A6FDD4

odpowiada:

DEC

10943956

Jeżeli urządzenie wymaga wyniku o długości 10 cyfr, wartość może być przedstawiona jako:

0010943956

Zera z lewej strony nie zmieniają wartości liczbowej.


Czy 00A6FDD4 i 0010943956 to ten sam numer?

Tak.

W tym konkretnym przykładzie:

00A6FDD4 HEX

=

10943956 DEC

=

0010943956 DEC przy zapisie 10-cyfrowym.

To bardzo ważne przy porównywaniu czytników RFID.

Czytnik A może pokazać:

00A6FDD4

a czytnik B:

0010943956

Mimo różnego wyglądu oba urządzenia mogą reprezentować dokładnie tę samą wartość.


Jak przeliczyć HEX na DEC?

Każda pozycja liczby HEX odpowiada kolejnej potędze liczby 16.

Dla przykładu:

A6FDD4

możemy zapisać jako:

A × 16⁵ + 6 × 16⁴ + F × 16³ + D × 16² + D × 16¹ + 4 × 16⁰

gdzie:

A = 10

F = 15

D = 13

Po wykonaniu obliczenia otrzymujemy:

10943956

Nie trzeba jednak wykonywać takich obliczeń ręcznie.

   

e-planeta.pl TECHNOLOGIE RFID

Kalkulator RFID HEX ↔ DEC

Wpisz numer karty lub UID. Kalkulator automatycznie rozpozna format i pokaże najczęściej używane reprezentacje RFID.

Rozpoznany format:
 
Ważne: Reverse oznacza tutaj odwrócenie kolejności pełnych bajtów. Kalkulator nie zmienia danych zapisanych na karcie — pokazuje jedynie różne sposoby ich reprezentacji.

     

Docelowo na e-planeta.pl umieścimy kalkulator RFID HEX ↔ DEC, który zrobi konwersję automatycznie.

 


Co oznacza 8H?

W konfiguratorach czytników RFID można spotkać oznaczenie:

8H

Najczęściej oznacza ono przedstawienie wartości jako:

8 znaków HEX

Przykład:

BFA5B35D

To osiem znaków:

BF A5 B3 5D

czyli cztery bajty danych.

Jeden bajt może być przedstawiony za pomocą dwóch znaków HEX.


Co oznacza 10D?

10D najczęściej oznacza dziesiętną reprezentację wartości zapisaną w polu o długości do 10 cyfr.

Przykładowo:

HEX:

00A6FDD4

DEC:

10943956

10D:

0010943956

W praktyce sposób implementacji może zależeć od producenta czytnika, dlatego zawsze należy sprawdzić dokumentację konkretnego urządzenia.


Co oznacza 8H10D?

Określenie 8H10D jest często używane w branży RFID do opisania konwersji:

8 znaków HEX → wartość dziesiętna przedstawiona jako 10 cyfr.

Schemat:

00A6FDD4

HEX → DEC

0010943956

Nie oznacza to zmiany danych zapisanych na karcie.

Zmienia się jedynie sposób prezentowania identyfikatora.


Czy HEX może zawierać małe litery?

Tak.

Przykładowo:

BFA5B35D

oraz:

bfa5b35d

reprezentują dokładnie tę samą wartość.

W systemie szesnastkowym:

A–F

i:

a–f

mają takie samo znaczenie.

Różnica może jednak mieć znaczenie dla oprogramowania odbierającego dane, jeśli program porównuje identyfikatory jako tekst i rozróżnia wielkie oraz małe litery.

Dlatego dwa zapisy mogą być matematycznie identyczne, ale nie każde oprogramowanie potraktuje je jako identyczny ciąg znaków.


Dlaczego czytnik pokazuje HEX wielkimi literami?

To zależy od firmware lub konfiguracji urządzenia.

Czytnik może zwracać:

BFA5B35D

albo:

bfa5b35d

Nie oznacza to różnicy w identyfikatorze karty.

Jeżeli system docelowy wymaga małych liter, trzeba sprawdzić, czy:

  • czytnik pozwala zmienić format wyjściowy,
  • program konfiguracyjny posiada taką opcję,
  • dane mogą zostać przekształcone przez oprogramowanie odbierające.

HEX/DEC to nie wszystko – ważna jest kolejność bajtów

To jedna z najczęściej pomijanych kwestii.

Załóżmy, że czytnik zwrócił:

BFA5B35D

Podzielmy wynik na bajty:

BF A5 B3 5D

Po odwróceniu kolejności otrzymujemy:

5D B3 A5 BF

czyli:

5DB3A5BF

Oba ciągi zawierają te same cztery bajty, ale w odwrotnej kolejności.


Co oznacza HEX Reverse?

Jeżeli konfigurator czytnika posiada opcję:

HEX

oraz:

HEX Reverse

różnica może wyglądać tak:

Format Wynik
HEX BFA5B35D
HEX Reverse 5DB3A5BF

Dopiero po ustaleniu kolejności bajtów powinniśmy wykonywać konwersję do DEC.

To bardzo ważne, ponieważ:

HEX → DEC

oraz:

HEX Reverse → DEC

dadzą dwie zupełnie różne liczby dziesiętne.


Dlaczego różne systemy używają reverse?

RFID łączy wiele standardów, urządzeń i systemów informatycznych.

Jedno urządzenie może interpretować kolejność bajtów zgodnie z jednym sposobem reprezentacji danych, a inne urządzenie lub program może oczekiwać kolejności odwrotnej.

Dlatego przy migracji z jednego czytnika na drugi trzeba sprawdzić nie tylko:

HEX czy DEC?

ale również:

w jakiej kolejności interpretowane są bajty?


Czy UID to to samo co DEC?

Nie.

UID jest identyfikatorem związanym z transponderem lub kartą.

HEX i DEC określają natomiast sposób przedstawienia wartości.

W uproszczeniu można to zapisać:

UID

00 A6 FD D4

możliwe reprezentacje:

00A6FDD4 — HEX

10943956 — DEC

0010943956 — 10D

Nie należy więc mówić, że „karta ma UID HEX” i „inną kartę UID DEC”.

Może to być ten sam identyfikator przedstawiony w innym systemie liczbowym.


Czy każdy czytnik wykorzystuje cały UID?

Nie zawsze.

To kolejny powód występowania różnych wyników.

Czytnik może wykorzystywać:

pełny UID

albo:

ostatnie 4 bajty

ostatnie 3 bajty

lub określony fragment identyfikatora.

Dlatego sama konwersja HEX → DEC czasami nie wystarczy.


Przykład – ostatnie 3 bajty

Załóżmy, że mamy:

BF A5 B3 5D

Pełne cztery bajty:

BFA5B35D

Jeżeli urządzenie wykorzystuje tylko ostatnie trzy:

A5B35D

otrzymujemy inną wartość.

Dlatego w konfiguratorach RFID można spotkać określenia w rodzaju:

The card last 3 bytes

To nie jest inny UID karty.

Urządzenie po prostu wykorzystuje fragment dostępnego identyfikatora.


Dlaczego jest to ważne przy wymianie czytnika?

Załóżmy, że firma posiada bazę 10 000 kart.

Stary czytnik przekazywał do systemu:

10D

a nowy:

8H HEX

Po wymianie urządzenia system może przestać rozpoznawać użytkowników, mimo że wszystkie karty są prawidłowe.

Problemem nie są karty.

Problemem jest:

niezgodność formatu danych wyjściowych.

Dlatego przed wymianą czytnika trzeba sprawdzić format starego urządzenia.


HEX/DEC a Wiegand

Wiegand jest kolejnym źródłem nieporozumień.

Przykładowo Wiegand 26 wykorzystuje 26-bitową ramkę.

Typowa struktura obejmuje:

1 bit parzystości + 8 bitów Facility Code + 16 bitów Card Number + 1 bit parzystości.

Dlatego numer widoczny w systemie Wiegand nie musi odpowiadać pełnej dziesiętnej reprezentacji UID.

Możemy mieć więc:

UID karty

HEX

DEC

ale również:

UID / dane urządzenia

format Wiegand

Facility Code + Card Number

To nie są zawsze wartości, które można porównywać znak po znaku.


Jak ustalić format numeru swojej karty?

Najlepiej zebrać kilka informacji.

Krok 1

Odczytaj kartę za pomocą czytnika.

Przykład:

BFA5B35D

Krok 2

Sprawdź, czy wynik zawiera litery A–F.

Jeżeli tak, bardzo prawdopodobne jest, że jest przedstawiony jako HEX.

Krok 3

Przelicz HEX na DEC.

Krok 4

Jeżeli wynik nadal nie odpowiada numerowi w systemie, odwróć kolejność bajtów.

Krok 5

Przelicz wartość reverse na DEC.

Krok 6

Jeżeli nadal nie ma zgodności, sprawdź:

  • czy system wykorzystuje cały UID,
  • ostatnie 3 lub 4 bajty,
  • Wiegand,
  • Facility Code,
  • Card Number,
  • własny algorytm producenta.

Tabela diagnostyczna

Czytnik/system Przykład Co sprawdzić
8H BFA5B35D HEX
HEX reverse 5DB3A5BF odwrócone bajty
10D xxxxxxxxxx DEC
last 3 bytes A5B35D część identyfikatora
Wiegand 26 FC + Card No. struktura Wiegand
nadruk na karcie xxxxxxxxxx sposób kodowania producenta

------------------------------------------------------------------------


 

Najczęstszy błąd przy porównywaniu kart RFID

Najczęstszy błąd polega na założeniu:

„Jeżeli numery wyglądają inaczej, czytniki odczytują inne dane.”

Nie zawsze.

Najpierw należy sprawdzić:

system liczbowy → kolejność bajtów → długość danych → wykorzystany fragment UID → format transmisji.

Dopiero później można stwierdzić, czy urządzenia rzeczywiście odczytują różne informacje.


Czy można skonfigurować czytnik na konkretny format?

Zależy od modelu.

Bardziej rozbudowane czytniki mogą pozwalać na wybór np.:

8H

10D

HEX reverse

DEC

lub określonej liczby bajtów.

Proste czytniki USB często mają jeden format zapisany w firmware.

Dlatego przed zakupem urządzenia do istniejącego systemu warto ustalić dokładnie oczekiwany format danych.


Jakiego czytnika potrzebuję do MIFARE?

Karty MIFARE pracują na częstotliwości 13,56 MHz.

Nie wystarczy więc typowy czytnik UNIQUE 125 kHz.

Jeżeli w firmie występują zarówno transpondery 125 kHz, jak i 13,56 MHz, można zastosować czytnik dualny obsługujący obie częstotliwości, pod warunkiem że jego sposób odczytu jest zgodny z wymaganiami systemu.

W tym miejscu na e-planeta.pl wstawimy naturalny link do Dual Pro 20.21, ale dopiero po przebudowaniu jego karty na oficjalną stronę techniczną.


FAQ

Czy HEX i DEC mogą oznaczać ten sam numer?

Tak. Są to dwa sposoby reprezentacji wartości liczbowej. Przykładowo 00A6FDD4 w HEX odpowiada 10943956 w DEC.

Czy wielkie i małe litery w HEX zmieniają wartość?

Nie. BFA5B35D i bfa5b35d mają tę samą wartość liczbową. Wielkość liter może jednak mieć znaczenie dla programu, który porównuje dane jako tekst.

Co oznacza 8H?

Najczęściej oznacza wynik przedstawiony jako osiem znaków HEX.

Co oznacza 10D?

Najczęściej jest to dziesiętna reprezentacja wartości w formacie do 10 cyfr.

Co oznacza reverse?

W kontekście czytników RFID najczęściej oznacza odwrócenie kolejności bajtów.

Czy DEC jest numerem zapisanym w pamięci karty?

Nie musi być. Może być jedynie dziesiętną reprezentacją odczytanego identyfikatora.

Dlaczego numer z czytnika nie odpowiada nadrukowi?

Nadruk może wykorzystywać inny format, kolejność bajtów, tylko część UID albo numer przygotowany dla określonego systemu kontroli dostępu.

Czy można automatycznie przeliczać numery RFID?

Tak. Konwersję HEX/DEC i odwracanie kolejności bajtów można wykonywać programowo. W przypadku Wiegand trzeba dodatkowo znać format ramki.


Podsumowanie

Różne numery wyświetlane dla tej samej karty RFID nie muszą oznaczać różnych identyfikatorów.

Najczęściej przyczyną jest jeden z pięciu elementów:

1. HEX vs DEC

2. normal vs reverse

3. pełny UID vs fragment UID

4. różna długość danych

5. format Wiegand lub format producenta

Dlatego prawidłowa diagnostyka powinna wyglądać:

odczyt → identyfikacja HEX/DEC → kontrola kolejności bajtów → kontrola długości → kontrola UID → Wiegand/system docelowy.

O autorze

e-planeta logo autora

E-planeta

Jesteśmy firmą z ponad 30-letnim doświadczeniem w handlu, które rozpoczęliśmy w 1987 roku. Od 2017 roku prowadzimy sklep internetowy e-planeta.pl, specjalizując się w elektronice użytkowej i innowacyjnych produktach. Stawiamy na jakość, szybką obsługę, bezpieczną wysyłkę oraz partnerskie relacje z klientami i dostawcami.

Napisz do nas!

Formularz kontaktowy

* - Pole wymagane

Komentarze do wpisu (0)

Bestsellery
Karta Dualna 125 kHz + 13,56 MHz
Karta Dualna 125 kHz + 13,56 MHz

2,99 zł

szt.
Pisuar - Nocnik Marki GuGu Bobas Brązowo Beżowy
Pisuar - Nocnik Marki GuGu Bobas Brązowo Beżowy

19,99 zł

Cena regularna: 27,99 zł

Najniższa cena: 27,99 zł
szt.
do góry
Sklep jest w trybie podglądu
Pokaż pełną wersję strony
Sklep internetowy Shoper.pl