거꾸로 글씨 생성기 쉽게 이해하기 — 개념과 원리
이 도구는 텍스트를 네 가지 방식으로 거꾸로 씁니다. 모든 문자를 뒤집기, 각 줄의 단어 순서 뒤집기, 단어 안의 글자 뒤집기, 줄 순서 뒤집기입니다. 이모지, 국기, 악센트 문자를 깨뜨리지 않고 유지하며, 글자와 숫자만 비교했을 때 회문(앞뒤가 같은 글)인지도 확인합니다.
계산 방법
텍스트를 사용자가 보는 문자 단위(문자소 묶음, 유니코드 표준 부속서 #29)로 나눕니다.
- 모든 문자: 문자 묶음 전체를 뒤집습니다.
- 단어 순서: 각 줄의 단어 순서를 뒤집고 단어 사이 공백은 유지합니다.
- 단어 안 글자: 각 단어 안의 문자 묶음을 뒤집습니다.
- 줄 순서: 줄의 순서를 뒤집습니다.
회문 확인: 소문자로 바꾼 글자와 숫자를 앞뒤로 비교합니다.
원리
글을 거꾸로 쓰는 일은 쉬워 보이지만, 눈에 보이는 문자 하나가 여러 코드 포인트일 수 있습니다. e 뒤에 결합 악센트가 붙거나, 지역 표시 기호 두 개로 된 국기, 폭 없는 결합자로 이은 가족 이모지가 그렇습니다. 코드 포인트를 하나씩 뒤집으면 이들이 깨진 기호로 흩어집니다. 먼저 문자소 묶음으로 나누면 보이는 문자가 온전히 유지됩니다. 회문은 앞뒤로 같게 읽히는 글이며, 공백·문장부호·대소문자를 무시하면 유명한 문장 회문이 드러납니다.
예제 풀이
기본값인 "Was it a car or a cat I saw?", 모든 문자 뒤집기로 계산합니다.
- 보이는 문자 28개, 단어 9개, 줄 1개입니다.
- 뒤집은 글 = ?was I tac a ro rac a ti saW입니다.
- 글자만 소문자로 남기면 "wasitacaroracatisaw"입니다.
- 거꾸로 읽어도 같으므로 예 — 거꾸로 읽어도 같습니다로 판정됩니다.
결과 해석
거꾸로 글씨는 퍼즐, 거울 글씨 연습, 회문 확인에 쓸 수 있습니다. 단어 순서 뒤집기는 언어 연습에, 단어 안 글자 뒤집기는 간단한 암호 쪽지에 쓸 만합니다. 거꾸로 쓴 글은 암호화가 아니라는 점을 기억하십시오.
흔한 실수
- 회문 확인이 공백과 문장부호까지 본다고 생각하는 경우(무시합니다)
- 글자 모양까지 뒤집는 거울 글씨와 혼동하는 경우
- 정보를 숨기려고 쓰는 경우(되돌리기 매우 쉽습니다)
자주 묻는 질문
거꾸로 해도 이모지가 왜 안 깨지나요?
문자소 묶음 단위로 나눠 여러 코드 포인트로 된 이모지가 온전히 유지되기 때문입니다.
회문이란 무엇인가요?
"racecar"나 "기러기"처럼 앞뒤로 읽어도 같은 단어나 문장입니다.
한글도 제대로 뒤집히나요?
네. 한글 음절은 한 글자씩 온전히 유지됩니다.
단어 뒤집기와 글자 뒤집기는 어떻게 다른가요?
단어 뒤집기는 단어 순서를 바꾸고, 글자 뒤집기는 각 단어를 제자리에서 거꾸로 씁니다.
출처: Unicode Standard Annex #29, "Unicode Text Segmentation" (grapheme cluster boundaries), as implemented by ECMAScript Intl.Segmenter (ECMA-402)