사이트 소개
Prelaps(mojibake.prelaps.com)는 글자를 다루다 막히는 지점을 하나씩 푸는 작은 도구들을 모아둔 곳입니다. 모든 도구가 브라우저 안에서만 돌고, 입력한 내용을 서버로 보내지 않습니다. 아래는 첫 번째 도구인 깨진 글자 복구기에 대한 설명입니다.
무엇을 하는 도구인가
¾È³çÇϼ¼¿ä, 안녕하세요 처럼 알아볼 수 없게 깨진 글자를 원래대로 되돌립니다. 한글뿐 아니라 일본어·중국어·러시아어를 비롯한 12개 언어를 다룹니다.
글자가 깨지는 원인은 하나입니다. A 방식으로 저장한 데이터를 B 방식으로 읽은 것. 그래서 복구도 거꾸로 두 단계를 밟습니다 — 깨진 글자를 잘못 읽은 방식으로 되돌려 원래 바이트를 복원한 뒤, 진짜 방식으로 다시 읽습니다. 어느 조합이 맞는지 모르므로 220가지를 전부 시도해보고 가장 자연스러운 결과를 골라냅니다.
왜 만들었나
이런 깨짐을 고치는 표준 라이브러리로 ftfy가 있습니다. 영어권 웹에서 흔한 ’ 계열을 정조준한 도구이고, 그 영역에선 거의 완벽합니다.
그런데 한글·일본어·중국어 인코딩이 얽힌 깨짐은 대상 밖입니다. 같은 벤치마크로 재보면 이렇습니다.
| 깨짐 구간 | 건수 | ftfy 6.3.1 | 이 도구 |
|---|---|---|---|
| CJK 인코딩으로 오독 | 20 | 0.0% | 100% |
| CJK 원문이 깨진 경우 | 51 | 0.0% | 66.7% |
| 키릴 인코딩으로 오독 | 39 | 15.4% | 97.4% |
| UTF-8 → 서구권 오독 (ftfy 주력) | 31 | 96.8% | 100% |
ftfy의 주력 구간에서 이 도구가 낫다고 주장할 근거는 없습니다. 31건에서 100% 대 96.8%는 사실상 같은 값이고, ftfy 쪽이 더 정교한 부분도 많습니다. 다른 것은 CJK 구간입니다 — 한국에서 흔히 "뷁체"라 부르는 그 깨짐이 71건 중 0건 처리됩니다. 그 자리를 메우려고 만들었습니다.
얼마나 정확한가
12개 언어, 25가지 깨짐 조합을 전수로 맞춰 만든 148건으로 측정합니다. 이론상 복구가 불가능한 조합(저장 단계에서 이미 바이트가 사라진 경우)은 제외한 숫자입니다.
| 항목 | 붙여넣기 | 파일 |
|---|---|---|
| 1순위 정답률 | 84.5% | 75.3% |
| 후보 3개 안에 정답 | 96.6% | 88.3% |
| 평균 처리 시간 | 2.3ms | 0.3ms |
이 숫자는 실제 브라우저에서 잰 값입니다. 두 모드는 재는 대상이 달라 직접 비교할 수 없습니다 — 파일 쪽은 서로 구분이 원리적으로 불가능한 단일바이트 인코딩 12종을 같은 비중으로 재기 때문에 전체 숫자가 낮게 나옵니다. 한국어·중국어 파일만 보면 100%입니다.
1순위가 틀린 경우에도 대부분 2·3순위에 정답이 있습니다. 후보를 세 개까지 보여주는 것은 그래서입니다.
입력이 서버로 가지 않습니다
붙여넣은 글자와 올린 파일은 전부 브라우저 안에서만 처리됩니다. 이 사이트에는 텍스트를 받는 서버가 없습니다. 회사 문서나 개인 기록처럼 밖으로 내보내기 곤란한 내용도 그대로 쓰실 수 있습니다. 자세한 내용은 개인정보처리방침에 적어두었습니다.
만든 방식
외부 라이브러리 없이 브라우저에 이미 들어 있는 기능만으로 만들었습니다. 압축 파일 안의 한글 파일명을 고칠 때도 압축을 풀었다 다시 하지 않고 이름만 바꿔 씁니다 — 파일 내용이 손상될 여지를 없애기 위해서입니다.
엔진을 고칠 때마다 148건 벤치마크를 다시 돌려 다른 언어가 조용히 나빠지지 않았는지 확인합니다. 정확도를 올렸다고 적으려면 그 전에 숫자로 보여야 한다는 원칙으로 만들고 있습니다.
운영
개인이 운영하는 무료 도구입니다. 오류 제보나 개선 제안은 문의 페이지로 보내주시면 확인하겠습니다.