[Research] Unicode Case Mapping Collisions
Unicode Case Mapping Collision란? 서로 다른 문자를 대문자 또는 소문자로 변환했을 때 같은 문자가 되는 특이 케이스를 의미합니다. 주로 도메인이나 이메일 입력을 검증하는 로직에서 많이 발생하곤 합니다. 왜냐하면 이메일이나 도메인의 경우 대소문자가 제각각이면 안되니깐요. 예시 파이썬의 경우 아래와 같은 현상이 일어날 수 있습니다. >>> 'K'.lower() == 'k' True >>> 'ı'.upper() == 'I' True 위 예시에서 한 문자가 한 문자를 대응하는 예시를 들었다고 해서 무조건 1대1로 대응되는 것은 아닙니다. >>> 'ß'.upper() == 'SS' True 위와 같이 한 문자가 대문자 S 2개에 해당되는 경우도 있습니다. 이외에도 정말 다양한 케이스들이 ..