사용 방법
- 텍스트를 2진수로 바꾸려면 ‘인코딩’을, 2진수를 텍스트로 되돌리려면 ‘디코딩’을 선택합니다.
- 텍스트나 2진수를 입력하거나 붙여넣거나 파일을 엽니다. 결과는 입력하는 즉시 갱신됩니다.
- 8비트 묶음 사이에 넣을 ‘구분자’를 ‘공백’, ‘없음’, ‘쉼표’, ‘줄 바꿈’ 중에서 고릅니다.
- 텍스트가 UTF-8이 아니면 ‘문자 인코딩’을 바꾼 다음 결과를 복사하거나 다운로드합니다.
텍스트가 2진수로 바뀌는 원리
컴퓨터는 텍스트를 바이트로 저장합니다. UTF-8 같은 문자 인코딩은 각 문자를 1바이트 이상에 대응시키며, 각 바이트는 0부터 255 사이의 숫자입니다. 이 숫자를 2진법으로 쓰면 최대 여덟 자리, 즉 8비트가 필요합니다. 이 변환기는 모든 바이트를 앞자리 0을 유지한 채 정확히 8비트로 표기합니다. 따라서 모든 묶음의 폭이 같고, 한 바이트가 어디서 끝나고 다음 바이트가 어디서 시작하는지 추측하지 않아도 2진 코드를 다시 읽을 수 있습니다.
UTF-8에서 영문자, 숫자, 문장 부호는 각각 1바이트이므로 문자 하나가 8비트 묶음 하나가 됩니다. 다른 문자는 더 많은 바이트를 차지합니다. é 같은 악센트 문자는 2바이트, 한글과 대부분의 한자·일본어 문자는 3바이트, 이모지는 4바이트를 사용하므로 이모지 하나는 32비트가 됩니다. 서유럽 텍스트를 문자당 1바이트로 표현하려면 ‘문자 인코딩’ 메뉴에서 ISO-8859-1 또는 Windows-1252를 선택하십시오.
2진수를 텍스트로 되돌리기
‘디코딩’ 모드에서는 공백, 쉼표, 줄 바꿈으로 구분한 비트 묶음을 붙여넣습니다. 구분된 묶음은 앞자리 0을 생략해도 되므로 7비트 ASCII로 출력하는 도구의 결과도 그대로 사용할 수 있습니다. 구분자 없이 0과 1이 이어진 문자열은 8비트씩 나누므로 길이가 8의 배수여야 합니다. 그 밖의 문자나 11111111(255)보다 큰 묶음은 위치와 함께 오류로 표시됩니다.
그런 다음 바이트를 선택한 문자 인코딩으로 읽습니다. 2진수를 만들 때 사용한 인코딩을 선택하거나, 출력을 ‘16진수’로 바꿔 원시 바이트를 확인하십시오.
코드로 텍스트를 2진수로 변환하기
# Python
' '.join(f'{b:08b}' for b in 'Hi'.encode()) # '01001000 01101001'
bytes(int(g, 2) for g in '01001000 01101001'.split()).decode() # 'Hi'
// JavaScript
[...new TextEncoder().encode('Hi')]
.map(b => b.toString(2).padStart(8, '0')).join(' ') // '01001000 01101001'
사양
| 알파벳 | 0 1 |
|---|---|
| 출력 크기 | 바이트당 8자리(800%) |
| 패딩 | 없음 |
| 표준 | 2진 자릿값 표기 |
| 대소문자 구분 | 아니요 |
예시
| 입력 (UTF-8) | 출력 |
|---|---|
Hello, World! | 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01010111 01101111 01110010 01101100 01100100 00100001 |
Base64.is | 01000010 01100001 01110011 01100101 00110110 00110100 00101110 01101001 01110011 |
你好 | 11100100 10111101 10100000 11100101 10100101 10111101 |
자주 묻는 질문
문자 하나는 몇 비트입니까?
ASCII 문자와 UTF-8의 영문자는 문자 하나가 1바이트, 즉 8비트입니다. UTF-8에서 그 밖의 문자는 16, 24, 32비트를 차지하며 한글은 24비트입니다. UTF-16에서는 모든 문자가 최소 16비트를 차지합니다.
공백 없는 2진수도 텍스트로 변환할 수 있습니까?
예. 완전한 8비트 묶음이 끊김 없이 이어진 문자열이라면 가능합니다. 앞자리 0이 생략되어 8자리보다 짧은 묶음이 있다면, 디코더가 각 바이트의 끝을 알 수 있도록 공백이나 쉼표로 구분해 두십시오.
텍스트를 2진수로 바꾸는 것과 숫자를 2진수로 바꾸는 것은 같습니까?
입력한 텍스트가 어딘가에 업로드됩니까?
아니요. 변환은 전적으로 브라우저 안에서 이루어지므로 변환하는 텍스트와 파일은 기기를 벗어나지 않습니다.