> 텍스트 처리 및 검색 > base64

base64: 데이터 인코딩/디코딩

base64 명령어는 바이너리 데이터를 ASCII 문자열 형식으로 인코딩하거나, 인코딩된 문자열을 다시 바이너리 데이터로 디코딩하는 데 사용됩니다. 주로 이메일 첨부 파일이나 웹에서 바이너리 데이터를 안전하게 전송할 때 활용됩니다.

개요

base64는 데이터를 64진법으로 표현하는 인코딩 방식입니다. 이 방식은 모든 바이트를 인쇄 가능한 ASCII 문자로 변환하여, 텍스트 기반 시스템에서 바이너리 데이터를 손상 없이 처리할 수 있게 합니다. 주로 표준 입력/출력을 통해 데이터를 처리하며, 파일 입출력도 지원합니다.

주요 기능

  • 바이너리 데이터를 ASCII 텍스트로 인코딩
  • 인코딩된 텍스트를 바이너리 데이터로 디코딩
  • 표준 입력/출력 및 파일 처리 지원
  • 데이터 손상 없이 전송 가능

주요 옵션

base64 명령어의 주요 옵션들은 인코딩/디코딩 방식, 출력 형식 등을 제어합니다.

기본 동작

기타

생성된 명령어:

명령어를 조합해 보세요.

설명:

`base64` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

base64 명령어의 다양한 활용 예시입니다.

문자열 인코딩

echo -n 'Hello, World!' | base64

echo 명령어를 통해 문자열을 base64로 인코딩합니다.

인코딩된 문자열 디코딩

echo -n 'SGVsbG8sIFdvcmxkIQ==' | base64 -d

이전에 인코딩된 문자열을 base64 -d 옵션을 사용하여 디코딩합니다.

파일 인코딩

echo 'This is a test file.' > test.txt
base64 test.txt > test.txt.base64

파일의 내용을 base64로 인코딩하여 새 파일에 저장합니다. (예시: test.txt 파일을 생성 후 실행)

인코딩된 파일 디코딩

base64 -d test.txt.base64 > test_decoded.txt

인코딩된 파일을 디코딩하여 원본 파일로 복원합니다.

줄 바꿈 없이 인코딩

echo -n 'Long string without line breaks for encoding' | base64 -w 0

-w 0 옵션을 사용하여 출력에 줄 바꿈을 적용하지 않습니다.

파이프를 이용한 인코딩/디코딩

cat /etc/hostname | base64 | base64 -d

명령어 출력을 base64로 인코딩하고, 다시 디코딩하는 과정을 파이프로 연결합니다.

팁 & 주의사항

base64 사용 시 유용한 팁과 주의할 점입니다.

주요 팁

  • base64는 암호화 도구가 아닙니다. 데이터를 숨기는 것이 아니라, 전송 가능한 형태로 변환하는 것입니다. 보안이 필요한 데이터는 암호화 도구를 사용해야 합니다.
  • 바이너리 파일을 base64로 인코딩할 때, 출력 파일의 크기는 원본 파일보다 약 33% 증가합니다. 이는 3바이트의 바이너리 데이터를 4바이트의 ASCII 문자로 표현하기 때문입니다.
  • 디코딩 시 유효하지 않은 문자가 포함된 base64 문자열을 처리해야 할 경우, `--ignore-garbage` 옵션을 사용하여 오류를 무시하고 유효한 부분만 디코딩할 수 있습니다. 하지만 이는 데이터 손실로 이어질 수 있으므로 주의해야 합니다.
  • 웹 환경에서 base64 인코딩된 데이터를 사용할 때는 URL-safe base64 인코딩이 필요할 수 있습니다. `base64` 명령어는 표준 base64를 따르므로, URL-safe 인코딩이 필요하다면 추가적인 변환 과정이 필요합니다.

동일 카테고리 명령어