웹 문서에서 꺾쇠와 앰퍼샌드 같은 기호는 태그의 일부로 해석되기 때문에, 화면에 그 기호 자체를 보여 주려면 다른 표기로 바꿔 적어야 합니다. 그 대체 표기를 엔티티라고 부르고, 이 도구는 평범한 글과 엔티티 사이를 양방향으로 옮겨 줍니다.
인코딩 방향에서는 다섯 가지 문자를 바꿉니다. 앰퍼샌드를 먼저 처리한 뒤 여는 꺾쇠, 닫는 꺾쇠, 큰따옴표, 작은따옴표 순으로 옮기죠. 앰퍼샌드를 맨 처음에 처리하는 것이 중요한데, 순서를 바꾸면 이미 만들어 놓은 엔티티의 앞글자가 다시 인코딩돼 이중으로 망가지기 때문입니다. 한글이나 이모지는 건드리지 않고 그대로 둡니다.
디코딩 방향은 훨씬 넓게 받습니다. 브라우저 자체의 해석기를 빌려 쓰기 때문에 이름이 붙은 엔티티든, 십진수 표기든, 십육진수 표기든 브라우저가 아는 것이라면 모두 원래 글자로 되돌립니다. 이때 화면에 붙여 그리는 방식이 아니라 값만 꺼내 오는 방식이라 입력에 스크립트 태그가 섞여 있어도 실행되지 않아요. 변환은 타이핑과 동시에 이뤄지고 서버로는 아무것도 보내지 않습니다.
A앰퍼샌드, 여는 꺾쇠, 닫는 꺾쇠, 큰따옴표, 작은따옴표 다섯 가지입니다. 태그와 속성값을 깨뜨릴 수 있는 문자만 골라 처리해요. 한글이나 특수 기호는 요즘 문서가 대부분 UTF-8이라 굳이 바꿀 필요가 없어서 그대로 둡니다.
A바꾸지 않습니다. 문서 인코딩만 UTF-8로 맞춰져 있으면 한글은 그대로 적어도 정상 출력되기 때문에 굳이 변환하지 않도록 만들었어요. 반대로 한글이 숫자 엔티티로 적힌 문자열을 디코딩 모드에 넣으면 정상적으로 한글로 되돌아옵니다.
A이름이 붙은 엔티티와 십진수·십육진수 숫자 엔티티를 모두 처리합니다. 브라우저가 내장한 해석기를 그대로 쓰기 때문에 목록에 없는 드문 이름도 브라우저가 알면 되돌아갑니다.
A깨지지 않습니다. 디코딩할 때 결과를 화면에 그리지 않고 값만 꺼내 오는 방식이라 태그가 살아나지 않고 스크립트도 실행되지 않습니다. 결과 칸에도 글자 그대로 표시됩니다.
A앰퍼샌드가 다시 한 번 바뀌면서 표기가 이중으로 감싸집니다. 화면에 엔티티 표기가 그대로 보이는 증상이 생기니, 이미 인코딩된 문자열은 다시 넣지 마세요. 실수했다면 디코딩을 한 번 돌리면 원래대로 돌아옵니다.
A바뀌지 않습니다. 이 도구는 문자 단위 치환만 하고 줄바꿈은 그대로 유지합니다. 줄바꿈을 태그로 만드는 작업은 별도 처리가 필요합니다.
A없습니다. 변환 길이 제한도, 하루 횟수 제한도 두지 않았습니다. 입력한 코드가 서버로 올라가지 않으니 작업 중인 소스 조각을 그대로 붙여넣어도 됩니다.