Certain tag technologies in Connected Things support a unique identifier (UID) that can be used by software systems to uniquely identify one tag from another. It is important that this UID is represented in a consistent format within a project.
Tags that support UIDs store the UID data as binary in the memory of the tag. A binary string “10110011” is not an efficient way of storing data in computer systems, nor is binary an easy way to represent data for humans. The solution for both is to represent the binary UID data in a different number format; often hexadecimal (numbers 0-9 and letters A-F). When a UID is represented in hexadecimal, the string representation is also important and must be chosen. There are several choices to be made in the string representation of the UID:
- Character casing:
- Uppercase letters: 044A7232214B80
- Lowercase letters: 044a7232214b80
- Separators or not between the byte values and the choice of separator:
- No separator: 044A7232214B80
- Space separator: 04 4A 72 32 21 4B 80
- Dash separator: 04-4A-72-32-21-4B-80
- A prefix or not before each byte value:
- No prefix: 044A7232214B80
- “0x” prefix: 0x040x4A0x720x320x210x4B0x80
It is important that within a project the UID is always represented with the same string format as often this is how the software will compare two UIDs for equality. If data from one project is going to interact with another project, the UID format either must be agreed upon across the projects or translated when the UID data is transferred.
- “044A7232214B80” != “04 4A 72 32 21 4B 80”
- “044A7232214B80” == “044A7232214B80”