Search
Duplicate
🦄

유니코드 정규화

간단소개
git에서 같은 이름의 폴더가 여러개 생기는 이유!
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
개발지식
잡지식
Scrap
태그
유니코드
9 more properties

요약

가는 다릅니다.
같은 글자를 나타내는 다른 형식이 있을 수 있습니다.
적절한 문자열 처리를 위해서는 유니코드 정규화를 통해 같은 형식으로 통일할 필요가 있습니다.

유니코드의 등가성

유니코드는 표준 형식이 주로 쓰이지만, 호환성을 위해 남겨 둔 형식도 여전히 남아있습니다.
한글 자모를 조합해서 만들 수 있는 가와 표준 는 같은 글자를 가리키지만 다르게 저장됩니다.
한글 외에도 다르게 저장되지만 같은 글자를 가리키는 경우가 있는데,
이렇게 여러가지 형식의, 즉 다른 데이터라도 같은 글자를 가리킬 수 있고, 이를 등가성이라고 합니다.

문제점?

이런 문제로 인해 여러가지 문제가 생기곤 합니다. 예를 들면…
욕설 필터링을 우회할 수도 있습니다.
같은 이름인데 같은 이름으로 인식하지 않을 수 있습니다.
github에서 가가 다른 예
실제로 git 사용 시 이름이 한글인 폴더 안에 Windows와 macOS에서 각각 파일을 추가하면… 위 그림과 비슷한 일이 일어납니다.

해결 방법 - 유니코드 정규화

간단히 같은 글자를 반드시 같은 형식으로 저장하게 만들면 됩니다!
이를 유니코드 정규화라고 합니다.
정규화 방법에는 NFD, NFC, NFKD, NFKC가 있는데, 이에 대한 자세한 내용을 다루지는 않겠습니다.
자세한 내용이 궁금하시다면 관련 자료를 참고 해 보세요!