텍스트를 8진수로
8진수는 16진수의 잊혀진 사촌으로, 각 자리가 정확히 3비트를 나타내는 base-8 수 체계입니다. 유닉스 파일 권한(755, 644)은 8진수로 쓰이며, 모든 문자는 10진수와 16진수처럼 8진수 코드도 가집니다. 텍스트를 붙여넣으면 이 변환기가 각 바이트의 8진수 코드를 반환하고, 공백으로 구분된 8진수 코드를 붙여넣으면 원래 텍스트를 되돌립니다.
텍스트를 8진수로 변환하는 법
-
1
텍스트 입력
일반 문자; 비ASCII 입력은 UTF-8 인코딩을 가정합니다.
-
2
각 바이트가 하나의 8진수 코드가 됨
`A` = 10진수 65 = 8진수 `101`. `Z` = 90 = `132`. 공백 = 32 = `40`.
-
3
코드는 공백으로 구분됨
바이트 코드는 단일 공백으로 이어집니다(`Hi`는 `110 151`이 됩니다). 앞자리 0은 붙지 않습니다.
-
4
8진수를 붙여넣어 디코딩
8진수 → 텍스트로 전환한 뒤 공백으로 구분된 8진수 값을 붙여넣으세요. 0부터 255까지의 각 값이 하나의 바이트가 됩니다.
8진수 간단 예시
| 문자 | 10진수 | 8진수 | 2진수 |
|---|---|---|---|
| A | 65 | 101 | 1000001 |
| a | 97 | 141 | 1100001 |
| 0 | 48 | 60 | 0110000 |
| 공백 | 32 | 40 | 0100000 |
| \n | 10 | 12 | 0001010 |
8진수가 여전히 중요한 이유
대부분의 현대 시스템은 16진수 두 자리가 한 바이트와 깔끔하게 맞아떨어져 16진수를 선호합니다. 8진수는 몇 군데에 남아 있습니다:
- 유닉스 파일 권한:
chmod 755는 소유자 = 7(rwx), 그룹 = 5(r-x), 기타 = 5(r-x)를 뜻합니다. 각 자리는 세 개의 권한 비트입니다. - C/Python 이스케이프 시퀀스: 문자열 리터럴의
\101은A입니다. C 정수 리터럴의 앞자리 0(int x = 0755)은 8진수로 해석되며, 잘 알려진 함정입니다. - 임베디드 및 레트로 시스템: 옛 12-, 18-, 36비트 아키텍처는 8진수와 잘 맞았습니다.
- umask 값:
umask 022는 기본 파일 권한 마스크를 755로 설정합니다.
파일 권한 표
| 8진수 자리 | 권한 | 2진수 |
|---|---|---|
| 0 | --- | 000 |
| 1 | --x | 001 |
| 2 | -w- | 010 |
| 3 | -wx | 011 |
| 4 | r-- | 100 |
| 5 | r-x | 101 |
| 6 | rw- | 110 |
| 7 | rwx | 111 |
그래서 chmod 644 = 소유자 rw-, 그룹 r--, 기타 r--, 읽기 가능한 텍스트 파일의 기본값입니다.
함정
- C에서는 앞자리 0이 중요합니다.
int a = 010;은 a를 10이 아니라 8로 설정합니다. Python 3는 이를 없앴으니 항상0o10을 쓰세요. - 8진수는 0-7 자리만 사용합니다.
8과9는 8진수에서 무효입니다. 보인다면 소스가 8진수가 아닙니다. - 유니코드 바이트는 8진수에서 더 커집니다. UTF-8 이모지(4바이트)는 세 자리 8진수 코드 4개, 열두 글자가 됩니다. 16진수라면 여덟 글자입니다. 대부분의 표시 용도에서는 16진수가 유리합니다.
자주 묻는 질문
유닉스 권한이나 \NNN 형식을 쓰는 C 문자열 이스케이프를 다루는 경우가 아니면 거의 안 씁니다. 16진수가 더 간결하고 바이트 단위로 읽기 쉽습니다.
각 8진수 자리가 세 개의 권한 비트(읽기, 쓰기, 실행)에 정확히 대응하기 때문입니다. 이 표기법은 1971년 AT&T 유닉스에 자리 잡아 지금까지 남아 있으며, 기저 비트 패턴에 우아하게 대응합니다.
네. 8진수 → 텍스트로 전환한 뒤 공백으로 구분된 8진수 값(예: 110 151)을 붙여넣으세요. 0부터 255까지의 각 값이 다시 하나의 바이트가 되므로, 멀티바이트 UTF-8 문자도 각 바이트 코드에서 디코딩됩니다.
입력한 텍스트는 변환을 수행하기 위해서만 저희 서버로 전송되며 저장하거나 기록하지 않습니다.
관련 도구
도시 이름 생성기
세계관, 지도, 게임, 이야기, 목업 데이터에 쓸 가상 도시, 마을, 촌락, 수도 이름을 만들고 각 결과에 짧은 메모를 제공합니다.
애너그램 생성기
짧은 단어를 입력하면 중복 순열을 제거하고 표시 개수를 조절해 글자의 고유한 재배열을 확인할 수 있습니다.
스크롤 텍스트 생성기
변경 가능한 속도, 글꼴 크기 및 색상을 사용하여 애니메이션 스크롤 헤드라인을 생성하세요. 브라우저에서 CSS 마퀴 티커나 공지 바를 실시간으로 미리 보세요.
무작위 프랑스 이름 생성기
40개 이름과 40개 성의 고정 목록에서 두 부분으로 된 프랑스 이름 아이디어를 1~50개 만듭니다.
뒤집힌 텍스트 생성기
거울에 비친 글자처럼 보이는 유니코드 글리프로 텍스트를 거꾸로 뒤집어 바이오, 캡션, 눈길을 끄는 소셜 게시물에 활용합니다.
소름 텍스트 생성기
유니코드 결합 기호를 사용해 일반 텍스트를 소름 끼치는 잘고 / 글리치 텍스트로 바꿉니다. 강도 조절 가능. SNS, Discord 및 대부분의 폰트에서 작동합니다.
이 도구는 다른 언어로도 제공됩니다
- ข้อความเป็นเลขฐานแปด [TH]
- Texto a Octal [ES]
- Tekst na ósemkowy [PL]
- テキストを8進数に変換 [JA]
- Texto para Octal [PT]
- Text till oktal [SV]
- Văn bản sang bát phân [VI]
- النص إلى النظام الثماني [AR]
- Texte en octal [FR]
- Text zu Oktal [DE]
- Teks ke Oktal [ID]
- Tekst naar octaal [NL]
- Metinden Sekizliye [TR]
- 文本转八进制 [ZH]
- Text to Octal [EN]
- Testo in ottale [IT]
- Текст в восьмеричную систему [RU]