텍스트 → 2진수 변환
텍스트를 2진수·16진수·10진수·8진수로, 또는 그 반대로 즉시 변환합니다. UTF-8이라 모든 문자가 그대로 왕복됩니다. 프라이버시 보장.
🔒 브라우저에서 변환되며 업로드되지 않습니다. UTF-8을 사용해 모든 문자가 그대로 왕복됩니다.
텍스트 ↔ 2진수·16진수·10진수·8진수
텍스트를 입력하면 2진수·16진수·10진수·8진수 표현이 실시간으로 갱신되고, 그 값을 붙여넣으면 텍스트로 디코딩됩니다. UTF-8 바이트 인코딩을 사용해 알파벳·악센트 문자·이모지까지 정확히 왕복됩니다. 모든 처리는 브라우저에서 이뤄집니다.
인코딩 방식
각 문자는 UTF-8 바이트로 인코딩되고, 각 바이트가 8비트 2진수 묶음, 2자리 16진수, 0–255 10진수, 또는 3자리 8진수(000–377)가 됩니다. 디코딩 시 묶음 사이의 공백은 무시되므로 있어도 없어도 됩니다.
글자가 아니라 바이트입니다
인코딩 없이 "이 글자의 2진수"라는 것은 없고, 여기서 쓰는 것은 UTF-8입니다. UTF-8에서 ASCII 글자는 1바이트라
A는 01000001입니다. 악센트가 붙은 라틴 글자는 2바이트, 대부분의 한중일 문자는
3바이트, 이모지는 4바이트입니다. 같은 글자 수의 영어보다 한국어 한 줄이 세 배 많은 묶음을 내놓는 이유,
한 글자로 보이는 이모지가 32비트가 되는 이유가 이것입니다. UTF-8 스트림을 잘못된 바이트 경계에서 자르면 대체
문자가 나옵니다. 디코더가 글자의 시작을 알아볼 수 있도록 시퀀스가 자기 자신을 설명하게 설계돼 있기
때문입니다.
코드 포인트, 그리고 "한 글자"란 무엇인가
UTF-8이 인코딩하는 것은 코드 포인트인데, 코드 포인트가 늘 사람이 세는 글자와 같지는 않습니다. 국기 이모지는
지역 표시 코드 포인트 둘입니다. 피부색이 붙은 이모지는 기본형 + 수정자입니다. é는 코드 포인트
하나일 수도, e + 결합 악센트 둘일 수도 있고, 둘은 똑같아 보이면서 문자열로는 다르게 비교됩니다. 그래서 여기
바이트 수가 답하는 질문은 "이게 공간을 얼마나 차지하나"이지 "몇 글자인가"가 아닙니다. 두 번째 질문의 답은 세
가지 정의 중 무엇을 뜻했느냐에 달려 있습니다.
자주 묻는 질문
이모지나 비영어 텍스트도 되나요?
네. UTF-8을 사용하므로 악센트 문자·한글·이모지 등 모든 유니코드 문자가 정확히 인코딩·디코딩됩니다.
2진수가 왜 8의 배수여야 하나요?
한 바이트는 8비트입니다. 전체가 8로 나눠지지 않으면 입력이 불완전해 바이트로 깔끔히 대응되지 않습니다.
텍스트가 업로드되나요?
아니요. 변환은 브라우저에서만 실행되며 텍스트는 기기를 벗어나지 않습니다.
이모지 하나가 왜 4바이트 이상인가요?
이모지는 UTF-8이 더 적은 바이트로 덮는 범위 밖에 있어 코드 포인트마다 4바이트를 씁니다. 국기·피부색·가족 이모지처럼 합성된 것은 코드 포인트 여러 개가 이어진 것이라 거기서 더 늘어납니다.
ASCII와 같은 건가요?
악센트 없는 영문자·숫자·일반 문장부호에서는 같습니다. UTF-8은 앞 128개 값이 ASCII가 되도록 설계됐습니다. 그 위로는 다르고 2~4바이트를 씁니다.
변환했더니 물음표나 네모가 나옵니다
바이트 시퀀스가 잘리거나 바뀌어 유효한 글자를 이루지 못해 디코더가 대체 문자를 넣은 것입니다. 모든 묶음이 8비트인지, 텍스트를 옮기며 빠진 것은 없는지 확인하세요.