Mac 탁음 분리 수정
(Unicode 정규화)
Mac 특유의 파일명 탁음 분리(ㄱㅏㄱㅣ)를
브라우저에서 즉시 복원합니다.
🔍 상세 분석 (코드 포인트 표시)
개요
Unicode 텍스트 정규화(NFC/NFD/NFKC/NFKD)를 실시간으로 실행하는 온라인 툴입니다. 문자 코드 통일이나 비교에 필요한 정규화 처리를 쉽게 할 수 있습니다.
전각·반각 통일, 탁음 결합/분해, 호환 문자 정규화 등 텍스트 처리에서 자주 등장하는 정규화 패턴을 지원합니다. 문자의 코드 포인트 표시나 바이트 배열 표시도 가능합니다.
모든 처리는 브라우저 내에서 완료되며 데이터가 서버로 전송되지 않습니다.
사용법
텍스트 입력
정규화하고 싶은 텍스트를 입력란에 입력하거나 붙여넣습니다.
형식 선택
NFC, NFD, NFKC, NFKD 중 하나의 정규화 형식을 선택합니다.
결과 확인 및 복사
정규화 후의 텍스트와 코드 포인트 변화를 확인하고 복사합니다.
용어집
- Unicode (유니코드)
- 전 세계의 문자를 하나의 체계로 다루기 위해 만들어진 세계 표준 문자 코드 규격. 이모티콘이나 역사적인 특수 문자 등도 모두 이 기준으로 관리됩니다.
- 정규화 (Normalization)
- 겉보기에는 완전히 같지만 내부 데이터 구조(바이트 배열)가 다른 문자들을 미리 정해진 '올바른(통일된) 형태'로 맞추는 변환 처리입니다.
- 서로게이트 페어 (Surrogate Pair)
- 기존의 2바이트(16비트)로는 표현할 수 없게 된 이모티콘 등 특수 문자를 2개의 문자 코드(4바이트)를 조합하여 표현하는 방식입니다.
- 결합 문자·탁음 분리
- '가'를 1글자로 취급하지 않고 'ㄱ'과 'ㅏ'의 2개 문자를 조합하여 시각적으로 '가'로 보이게 하는 방식. Windows와 Mac 간에 데이터를 주고받을 때 글자 깨짐의 원인이 되기 쉽습니다.
- NFD (Normalization Form Canonical Decomposition)
- 모든 문자를 '각각의 부품으로 분해'하는 형식. 예를 들어 '가'는 강제로 'ㄱ' + 'ㅏ'로 분해됩니다. Mac의 파일 시스템(HFS+ / APFS) 등에서 사용됩니다.
- NFC (Normalization Form Canonical Composition)
- 분해되어 있는 문자를 '하나로 결합'하는 형식. 분리된 데이터를 표준 단일 문자로 깔끔하게 묶어줍니다. 웹이나 Windows 환경에서 권장되는 압도적인 표준입니다.
- NFKC (Normalization Form Compatibility Composition)
- NFC의 결합에 더해, '㈱'를 '(주)'로, '①'을 '1'로 바꾸는 등 모양이 다르더라도 의미가 같으면 표준 문자로 강제 변환(호환 분해 + 결합)하는 매우 강력한 형식입니다.
FAQ
- Q.왜 문자 정규화가 필요한가요?
- 겉보기에 같아도 데이터가 다른 문자가 섞여 있으면, 데이터베이스 검색 시스템에서 문자를 검색해도 검색되지 않는 등 중대한 시스템 오류가 발생하기 때문에, 등록 전에 문자 코드 체계를 통일할 필요가 있습니다.
- Q.NFC, NFD, NFKC, NFKD 중 무엇을 선택해야 할지 모르겠습니다.
- 특별한 이유가 없다면 항상 'NFC'를 선택하세요. 웹 세계(HTML·데이터베이스 등)에서는 NFC가 가장 안전한 사실상의 글로벌 표준(W3C 권장)입니다.
- Q.Mac에서 만든 탁음 파일명의 데이터가 이상합니다.
- Mac의 사양에 따른 원인입니다. Mac이 'NFD(분리형)'를 채택하고 있기 때문에 발생합니다. 이 툴에 붙여넣고 'NFC'로 변환하면 Windows에서도 글자 수가 이상해지지 않는 올바른 문자로 복원할 수 있습니다.
- Q.'㈱'나 원 문자 '①'을 일반 문자로 풀고 싶습니다.
- 그럴 경우에는 'NFKC(호환 등가)' 변환을 선택하세요. '㈱'는 '(주)'로, 전각 'A'는 반각 'A'로 강제로 균등화되어 일반적인 시스템에서 다루기 쉬운 데이터가 됩니다.
- Q.전송한 문자열은 서버 데이터베이스에 남나요?
- 일절 남지 않습니다. 브라우저에 기본 탑재된 'String.prototype.normalize()'라는 내부 기능만 호출하여 순식간에 처리하기 때문에 네트워크 통신이 발생하지 않습니다.
- Q.처리 가능한 글자 수나 용량에 제한이 있나요?
- 알고리즘이 매우 가볍기 때문에 텍스트 파일 전체(수만~수십만 자)를 붙여넣어도 거의 눈 깜짝할 사이에 완료됩니다. 한도는 컴퓨터 브라우저 메모리 허용량에 비례합니다.
- Q.'정규화된 글자 수'가 원본 글자 수와 다를 때가 있는 이유는 무엇인가요?
- 예를 들어 분리된 탁음 2글자가 결합하여 1글자가 되기 때문에 글자 수가 줄어들거나, 반대로 '㈱'(1글자)가 '(주)'(3글자)로 분해되어 글자 수가 늘어날 수 있기 때문입니다.
활용 사례
데이터베이스 통일
사용자 입력의 정규화로 데이터 통일성을 확보.
문자열 비교
정규화된 문자열로 정확한 비교·검색 실현.
텍스트 전처리
자연어 처리나 데이터 분석의 전처리로 정규화 적용.
문자 코드 조사
문자의 코드 포인트 확인. 인코딩 문제 조사에 활용.
기술 해설
String.prototype.normalize() API
브라우저 고유의 네이티브 함수만 사용하므로 방대한 문자열 데이터라도 수 밀리초 내에 즉시 정규화가 완료됩니다.
Send Feedback
Please let us know your thoughts to help us improve the tool.
Feedback is temporarily suspended
The server is busy or spam protection is active. Please try again later.