유니코드 변환기

텍스트를 JavaScript \uXXXX / \u{HEX} 시퀀스로 이스케이프하고, 혼합 이스케이프를 다시 텍스트로 디코딩하며, 모든 문자를 코드 포인트로 검사합니다: U+ 16진수, 10진수, UTF-8 바이트, UTF-16 단위, JS 이스케이프. 성부 코드 포인트(이모지)는 서로게이트 절반으로 분할되지 않습니다.
모든 처리는 브라우저에서 로컬로 이루어지며 데이터는 어떤 서버에도 업로드되지 않습니다.
이스케이프 스타일:
인코딩: 텍스트는 유니코드 코드 포인트로 분할되고(이모지는 그대로 유지) 각각이 JavaScript 이스케이프 시퀀스로 기록됩니다.
디코딩: 모든 \uXXXX, \u{hex}, U+hex 시퀀스(대소문자 무관)가 해당 문자로 변환됩니다. 인접한 서로게이트 쌍 이스케이프는 하나의 코드 포인트로 병합됩니다. 이스케이프되지 않은 텍스트는 변경 없이 통과합니다.
검사기: 각 코드 포인트가 탭으로 구분된 한 줄이 됩니다: 문자, U+HEX, 10진수, UTF-8 바이트, UTF-16 단위, JS 이스케이프. 표 전체를 출력에서 복사하거나 다운로드할 수 있습니다.
입력창에서 Ctrl+Enter를 누르면 현재 모드가 실행됩니다.
인코딩, 디코딩 또는 검사기를 선택하고 실행하세요. 모든 처리는 브라우저 안에서 이루어집니다.
검사기 열 읽는 법:
U+HEX는 코드 포인트의 16진 표기이고 10진수는 같은 숫자의 기수 10 표기입니다. UTF-8 바이트는 문자를 UTF-8로 기록할 때 차지하는 1~4바이트를 보여 줍니다(예: 中 = E4 B8 AD). UTF-16은 JavaScript 문자열 안에서 문자가 사용하는 16비트 단위 1~2개를 보여 줍니다(U+FFFF 넘는 이모지는 두 단위, 즉 "서로게이트 쌍"이 필요: 예. U+1F600 = D83D DE00). JS 이스케이프는 이 문자의 권장 소스 코드 형식입니다.
샘플 버튼이 불러오는 것:
현재 모드에 맞는 예시이지 고정된 텍스트가 아닙니다. 하나의 텍스트가 세 모드를 모두 만족할 수 없기 때문입니다. 인코딩과 검사기는 순수 문자를 받으므로 Hello 中文! 🎉를 사용합니다 — ASCII, CJK, 전각 기호, 이모지 하나. 디코딩은 이스케이프 시퀀스를 받는데 평범한 문장에는 없습니다. 그대로 되돌아올 뿐 모드가 보여줄 것이 없으므로, 디코딩은 Say \u4e2d\u6587 \u{1F600} U+0041 \uD83C\uDF89 OK를 사용합니다. 디코더가 받아들이는 모든 형식을 하나씩 담고 있습니다 (소문자 \uXXXX 쌍, \u{HEX} 중괄호, U+hex 형식, 인접 서로게이트 쌍, 이스케이프가 아닌 단어). 상자 아래 줄이 확인해야 할 결과를 알려 주며, 인코딩에서는 이스케이프 스타일과 ASCII 체크박스도 따르므로, 샘플을 다시 누르면 나머지 세 스타일을 볼 수 있습니다.
유니코드란 무엇인가?

유니코드는 모든 문자 체계의 모든 문자에 번호, 즉 코드 포인트를 부여하는 하나의 목록입니다. U+0000부터 U+10FFFF까지 — 65,536개씩 17개 평면에 배열된 1,114,112개의 슬롯. 첫 번째 평면인 기본 다국어 평면(BMP)에는 대부분의 현존 언어 문자가 있고, 대부분의 이모지와 많은 고대 문자는 더 높은("성부") 평면에 있습니다.

UTF-8, UTF-16, UTF-32는 경쟁하는 문자 집합이 아니라 그 번호들을 바이트로 직렬화하는 세 가지 방법입니다 — 검사기 모드는 같은 문자에 대해 JavaScript 이스케이프 형식 옆에 세 가지를 모두 보여 줍니다.

유니코드는 문자에 이름과 번호를 부여합니다. UTF-8/UTF-16/UTF-32와 \uXXXX 이스케이프는 같은 번호를 적어 내려가는 서로 다른 방법일 뿐입니다.