CodeSOD: 마법의 바이트 노트

CodeSOD: 마법의 바이트

"매직 바이트"는 일반적으로 파일 헤더의 일부이며, 파일의 유형을 식별하는 데 도움이 됩니다. 예를 들어 비트맵 파일은 "BM"으로 시작하고 PGM 파일은 "PN"으로 시작합니다. Christer의 팀은 CAD 파일 유형을 조작하는 소프트웨어를 작업하고 있었고, 파일이 CAD 파일인지 구체적인 UFF 파일 유형이 아닌지를 식별해야 했습니다. 파일이 0xabb0, 0xabb1 또는 0xabb3로 시작하지 않는지 확인해야 했습니다. 동료가 유효성 검사를 작성했지만, 16진수와 문자열을 혼동해서 비교가 잘못되었습니다. 이 실수로 인해 0xABB0과 0xabb0이 다른 것으로 간주되는 새롭고 말이 되지 않는 번호 체계가 생성되었습니다. 이 코드 샘플은 0xABB0 < 0xABB1이 0xABB0 < 0xabb1을 의미하는지와 같이 대문자와 소문자 16진수의 관계에 대해 의문을 제기합니다. 또한 이 코드는 16진수로 소문자 3을 쓰는 방법에 대해서도 의문을 제기합니다.