์นด๋๋ฆฌ๋๊ธฐ๋ฅผ ์ค์นํด์ ์นด๋๋ฅผ ์ฐ์ด๋ดค๋๋ฐ, ๋ฉ๋ชจ์ฅ์ ์ฐํ๋ UID ๊ฐ์ด ์๋ ๊ฐ๊ณผ ๋ฐ๋๋ก ๋์ค๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด,
์ด๋ฐ ์์ผ๋ก ์์๊ฐ ๋ค์งํ ๋ณด์ด์ฃ .
1. ์์ธ: Endian(์๋์) ์ฐจ์ด
์๋์์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๊ฑฐ๋ ์ ์กํ ๋ ๋ฐ์ดํธ ์์๋ฅผ ์ด๋ป๊ฒ ํ ์ง ์ ํ๋ ๊ท์น์ ๋๋ค.
- Big Endian : ํฐ ๋จ์(์์ ๋ฐ์ดํธ)๋ฅผ ๋จผ์ ์ ์ฅ → ์ฌ๋์ด ์ฝ๋ ๋ฐฉ์๊ณผ ๋น์ท
- Little Endian : ์์ ๋จ์(ํ์ ๋ฐ์ดํธ)๋ฅผ ๋จผ์ ์ ์ฅ → ๋ค์งํ ๊ฒ์ฒ๋ผ ๋ณด์
์นด๋๋ฆฌ๋๊ธฐ๋ UID๋ฅผ Big Endian์ผ๋ก ๋ณด๋ด๋๋ฐ, ์ํํธ์จ์ด๊ฐ Little Endian์ฒ๋ผ ์ฝ์ผ๋ฉด์ ๊ฐ์ด ๋ฐ๋๋ก ์ถ๋ ฅ๋ ๊ฑฐ์์.
์๋์ ๋ณํ์ ํ ๋๋ 2๊ธ์(=1๋ฐ์ดํธ) ๋จ์๋ก ๋์ด์ ์์๋ฅผ ๋ฐ๊ฟ์ผ ํฉ๋๋ค.
๊ทธ๋ฅ ๋ฌธ์์ด ์ ์ฒด๋ฅผ ๋ค์ง์ผ๋ฉด ์๋ชป๋ ๊ฐ์ด ๋์ต๋๋ค.
์๋ฅผ ๋ค์ด UID๊ฐ 9A1A06F8์ด๋ผ๋ฉด:
- 2๊ธ์ ๋จ์๋ก ์๋ฅด๊ธฐ
-
9A | 1A | 06 | F8
- ์์ ๋ค์ง๊ธฐ
-
F8 | 06 | 1A | 9A
- ์ต์ข ๊ฒฐ๊ณผ → F1061A9A
2. ํด๊ฒฐ ๋ฐฉ๋ฒ
- ์ํํธ์จ์ด์์ ๋ณํ
์ฝ๋์์ ๋ฐ์ดํธ ์์๋ฅผ ๋ค์ง์ด ์ฃผ๋ฉด ๋ฉ๋๋ค. - ์์ (Python):
uid = "9A1A06F8"
little_to_big = "".join([uid[i:i+2] for i in range(0, len(uid), 2)][::-1])
print(little_to_big) # F8061A9A
3. ์ ๋ฆฌ
- ๊ฐ์ด ๋ฐ๋๋ก ๋ณด์ด๋ ๊ฑด ์๋์ ์ฐจ์ด ๋๋ฌธ
- ํ์์ ํ๋ก๊ทธ๋จ์์ ๋ฐ์ดํธ ์์๋ฅผ ๋ณํ
์ด ๊ณผ์ ์ ๊ฑฐ์น๋ฉด ์นด๋ UID๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฝ์ ์ ์์ต๋๋ค.
### ์ฐธ๊ณ

๋ฆฌ์คํธ์ ์๋ ๊ฐ๋ค์ UID๋ฅผ ๋ช ๋ฐ์ดํธ ๋จ์๋ก ๋์ด์ ์ถ๋ ฅํ ์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์์(H=Hex, D=Decimal)๋ก ๋ณด์ฌ์ค์ง๋ฅผ ์ ํ๋ ๊ฒ ๊ฐ์์:
- 6H → 6์๋ฆฌ(๋ฐ์ดํธ ์ ์๋, Hex๋ฌธ์ 6์๋ฆฌ) 16์ง์ ์ถ๋ ฅ
- 8H → 8์๋ฆฌ 16์ง์ ์ถ๋ ฅ (์นด๋ UID ๋๋ถ๋ถ 4๋ฐ์ดํธ๋ผ 8H๊ฐ ๊ธฐ๋ณธ)
- 10H → 10์๋ฆฌ 16์ง์ ์ถ๋ ฅ (5๋ฐ์ดํธ UID)
- 5H10D → ์๋ถ๋ถ์ Hex(5์๋ฆฌ), ๋ท๋ถ๋ถ์ Decimal(10์๋ฆฌ)
- 6H10D, 8H10D, 10H10D → ํผํฉ ์ถ๋ ฅ ๋ฐฉ์
- 2H10D+4H10D → UID๋ฅผ ๋ถ๋ฆฌํด์ ์ถ๋ ฅ (2์๋ฆฌ Hex + 10์๋ฆฌ Dec, ๊ทธ๋ฆฌ๊ณ ๋ 4์๋ฆฌ Hex + 10์๋ฆฌ Dec)