# Base64 인코더 및 디코더

텍스트를 Base64로 인코딩하거나 Base64를 텍스트로 디코딩합니다. 표준 및 URL 안전 알파벳을 지원합니다.

https://codeknife.dev/ko/base64-incoding-decoding/

## 기능 소개

Base64는 모든 바이트를 안전한 64개 문자로 된 일반 텍스트로 바꿔 줍니다. 덕분에 바이너리 데이터를 텍스트만 다루는 시스템(이메일 본문, JSON 필드, URL, 데이터 URI, HTTP 헤더)으로 전달할 수 있습니다. 이 도구는 텍스트를 Base64로 인코딩하고 Base64를 다시 텍스트로 디코딩하며, 모든 작업은 브라우저 안에서 이루어집니다.

## 사용 방법

1. **인코딩** 또는 **디코딩**을 선택합니다.
2. 텍스트를 입력하거나 붙여넣고, 파일을 입력란에 끌어다 놓아도 됩니다.
3. **표준** 알파벳(`+`와 `/`) 또는 **URL 안전** 알파벳(`-`와 `_`)을 고르고, `=` 패딩을 추가할지 정합니다.
4. 결과를 복사하거나 다른 도구로 바로 보냅니다.

줄마다 따로 변환하는 옵션을 켜면 인코딩된 값 목록처럼 각 줄을 개별적으로 변환합니다.

## 예제

`Hello, world!`를 인코딩하면 다음과 같습니다.

```
SGVsbG8sIHdvcmxkIQ==
```

같은 바이트를 패딩 없이 URL 안전 알파벳으로 인코딩하면 다음과 같습니다.

```
SGVsbG8sIHdvcmxkIQ
```

## 알아두면 좋은 점

- Base64는 암호화가 아니라 인코딩입니다. 누구나 디코딩할 수 있습니다.
- 결과는 입력보다 약 3분의 1 더 큽니다(3바이트가 4문자가 됩니다).
- 텍스트는 기본적으로 UTF-8로 변환합니다. 디코딩한 텍스트에 이상한 문자가 보이면 원래 작성된 문자 집합을 선택하세요.
- JSON Web Token은 패딩 없는 URL 안전 알파벳을 사용합니다.

## Base64란 무엇인가요?

Base64는 64개의 출력 가능한 문자로 바이너리 데이터를 표현하는 방식으로, 이메일 본문, JSON 필드, 데이터 URL처럼 텍스트만 허용하는 시스템을 통해서도 데이터를 전달할 수 있습니다. 3바이트가 4개의 문자가 되므로 결과는 약 33% 커집니다.

## 자주 묻는 질문

### URL 안전 알파벳은 언제 사용하나요?

결과를 URL이나 파일 이름에 넣을 때 사용하세요. +와 /를 -와 _로 대체합니다. JWT는 패딩 없이 이 방식을 사용합니다.

### 디코딩한 텍스트에 이상한 문자가 표시되는 이유는 무엇인가요?

선택한 것과 다른 문자 집합으로 인코딩되었을 가능성이 높습니다. ISO-8859-1을 시도해 보거나, 데이터가 파일이 아니라 텍스트인지 확인하세요.

### Base64는 암호화인가요?

아닙니다. 누구나 Base64를 디코딩할 수 있으므로 아무것도 숨기지 못합니다. 데이터를 전달하는 용도로만 사용하고 보호하는 용도로는 사용하지 마세요.