1. Base64 μΈμ½λ©μ κ°λ κ³Ό μ리
Base64 μΈμ½λ©μ λ°μ΄ν°λ₯Ό λ¬Έμλ‘ λ³ννλ μΈμ½λ© λ°©μ μ€ νλλ‘, μ΄μ§ λ°μ΄ν°λ₯Ό ν μ€νΈ νμμΌλ‘ λ³ννμ¬ μ μ‘ λ° μ μ₯ν μ μκ² ν΄μ€λλ€. Base64λ 2μ 6μΉμΈ 64κ°μ λ¬Έμλ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄ μ§ν©μ μ¬μ©νμ¬ μλ λ°μ΄ν°λ₯Ό ννν©λλ€.
Base64 μΈμ½λ© μ리
- λ°μ΄ν°λ 8λΉνΈλ‘ μ΄λ£¨μ΄μ§ μ΄μ§ ννμ λλ€. μλ₯Ό λ€μ΄, "hello"λΌλ ν μ€νΈλ₯Ό Base64λ‘ μΈμ½λ©νκ² λλ©΄ μ΄μ§ ννλ‘ "01101000 01100101 01101100 01101100 01101111"κ° λ©λλ€.
- μ΄μ§ λ°μ΄ν°λ₯Ό 6λΉνΈλ‘ λλλ μμ μ μνν©λλ€. μ¬κΈ°μ, "011010 000110 011001 011011 011011 000110 110111 011111"λ‘ λλ μ μμ΅λλ€.
- λλ 6λΉνΈλ₯Ό μμ§μλ‘ λ³νν©λλ€. μμ μμμ λ³νν κ²°κ³Όλ κ°κ° "26 6 25 27 27 6 55 63"μ΄ λ©λλ€.
- μμ§μλ₯Ό Base64 λ¬Έμλ‘ λ³νν©λλ€. Base64 λ¬Έμλ 0λΆν° 63κΉμ§μ μΈλ±μ€μ ν΄λΉνλ νΉμ λ¬Έμλ‘ ννλ©λλ€.
- 0λΆν° 25κΉμ§λ λλ¬Έμ μνλ²³ 'A'λΆν° 'Z'μ λλ€.
- 26λΆν° 51κΉμ§λ μλ¬Έμ μνλ²³ 'a'λΆν° 'z'μ λλ€.
- 52λΆν° 61κΉμ§λ μ«μ '0'λΆν° '9'μ λλ€.
- 62λ '+'μ΄κ³ , 63μ '/'μ λλ€.
- μμ μμμ λ³νλ κ²°κ³Όλ κ°κ° "aGVoZWxsbyo="μ΄ λ©λλ€. μ΄ Base64λ‘ μΈμ½λ©λ λ°μ΄ν°λ ν μ€νΈ νμμΌλ‘ μμ νκ² μ μ‘ λ° μ μ₯ν μ μμ΅λλ€.
Base64 μΈμ½λ©μ μ£Όλ‘ μ΄λ©μΌ μ²¨λΆ νμΌ, μ΄λ―Έμ§ λ°μ΄ν°, URL νλΌλ―Έν° λ±μμ μ¬μ©λ©λλ€. μ΄μ μλ 8λΉνΈ μ΄μ§ λ°μ΄ν°λ₯Ό μ μ‘ λ° μ μ₯ν μ μλ μ νλ νκ²½μμ Base64 μΈμ½λ©μ΄ λ리 μ¬μ©λμμ΅λλ€. λν, λͺλͺ μνΈν κΈ°μ μμλ Base64 μΈμ½λ©μ΄ μ¬μ©λ μ μμ΅λλ€.
μ΄μ Base64 μΈμ½λ©μ κ°λ κ³Ό μ리λ₯Ό μ΄ν΄νμΌλ―λ‘, μ€μ λ‘ μΈμ½λ©μ μννλ λ°©λ²κ³Ό λΌμ΄λΈλ¬λ¦¬μ λν΄ λ μμΈν μμλ³΄κ² μ΅λλ€.
2. Base64 μΈμ½λ©μ νμ© μ¬λ‘
Base64 μΈμ½λ©μ λ€μν μν©μμ νμ©λ μ μμ΅λλ€. μ£Όμν νμ© μ¬λ‘λ λ€μκ³Ό κ°μ΅λλ€.
2.1. μ΄λ©μΌ μ²¨λΆ νμΌ
μ΄λ©μΌμ ν μ€νΈ κΈ°λ° νλ‘ν μ½μ΄κΈ° λλ¬Έμ μ΄μ§ νμΌμ μ§μ 첨λΆν μ μμ΅λλ€. νμ§λ§ Base64 μΈμ½λ©μ μ¬μ©νλ©΄ μ΄μ§ νμΌμ ν μ€νΈ ννλ‘ λ³ννμ¬ μ΄λ©μΌμ 첨λΆν μ μκ² λ©λλ€. μ΄λ¬ν λ°©μμΌλ‘ μ΄μ§ νμΌμ μΈμ½λ©νλ©΄ λͺ¨λ μ΄λ©μΌ ν΄λΌμ΄μΈνΈμμ μ΄μ§ νμΌμ μ λλ‘ μ²λ¦¬ν μ μμ΅λλ€.
2.2. μ΄λ―Έμ§ λ°μ΄ν°
μΉ μ ν리μΌμ΄μ μμ μ΄λ―Έμ§ λ°μ΄ν°λ₯Ό μ μ‘ν λλ Base64 μΈμ½λ©μ μ¬μ©ν μ μμ΅λλ€. μ΄λ―Έμ§λ μ΄μ§ ννμ λ°μ΄ν°μ΄μ§λ§, Base64λ‘ μΈμ½λ©λ ν μ€νΈ νμμΌλ‘ λ³ννλ©΄ μΉ νμ΄μ§μ HTML μ½λμ μ§μ μ½μ ν μ μμ΅λλ€. μ΄λ κ²νλ©΄ μΉ νμ΄μ§κ° λ‘λ©λ λ μ΄λ―Έμ§λ₯Ό λ°λ‘ λ‘λ©νμ§ μκ³ λ μ΄λ―Έμ§λ₯Ό νμν μ μμΌλ©°, μΆκ°μ μΈ λ€νΈμν¬ νΈμΆμ μ€μΌ μ μμ΅λλ€.
2.3. URL νλΌλ―Έν°
URLμ μΌλΆ νΉμ λ¬Έμ λλ μ΄μ§ ννμ λ°μ΄ν°λ₯Ό ν¬ν¨ν΄μΌ ν λλ Base64 μΈμ½λ©μ μ¬μ©ν μ μμ΅λλ€. URLμμλ μΌλΆ νΉμ λ¬Έμκ° μμ½μ΄λ‘ μ¬μ©λλ©°, νλΌλ―Έν°λ‘ μ λ¬νκΈ° μν΄μλ μ΄λ¬ν νΉμ λ¬Έμλ₯Ό μΈμ½λ©ν΄μΌ ν©λλ€. Base64 μΈμ½λ©μ μ¬μ©νλ©΄ μ΄λ¬ν νΉμ λ¬Έμλ₯Ό μμ νκ² ν μ€νΈ νμμΌλ‘ λ³ν ν μ μμ΅λλ€.
2.4. μνΈν
μνΈν κΈ°μ μμλ Base64 μΈμ½λ©μ΄ λ€μν κ³³μμ μ¬μ©λ©λλ€. μνΈνλ λ°μ΄ν°λ₯Ό μ μ‘νκ±°λ μ μ₯ν΄μΌ ν κ²½μ°, μ΄μ§ νμμ λ°μ΄ν°κ° μλ ν μ€νΈ νμμΌλ‘ λ³ννμ¬ μ²λ¦¬νλ©΄ νΈλ¦¬ν©λλ€. Base64 μΈμ½λ©μ μνΈνλ λ°μ΄ν°λ₯Ό μμ νκ² ν μ€νΈλ‘ μΈμ½λ© ν μ μλ λ°©λ²μ μ 곡ν©λλ€.
μμμ μκ°ν νμ© μ¬λ‘λ€μ λ€μν λΆμΌμμ Base64 μΈμ½λ©μ μ μ©μ±μ 보μ¬μ€λλ€. μ£Όμν΄μΌ ν μ μ Base64 μΈμ½λ©λ λ°μ΄ν°μ ν¬κΈ°κ° μλμ μ΄μ§ λ°μ΄ν°λ³΄λ€ μ½ 1/3 μ¦κ°νλ€λ κ²μ λλ€. λλ¬Έμ, λ°μ΄ν° μ©λμ λν κ³ λ €κ° νμν μν©μμλ Base64 μΈμ½λ©μ μ¬μ©ν λ μΆκ°μ μΈ μ©λμ κ³ λ €ν΄μΌ ν©λλ€.
3. Base64 λμ½λ©μ κ°λ κ³Ό μ리
Base64 λμ½λ©μ Base64 μΈμ½λ©λ ν μ€νΈλ₯Ό λ€μ μλμ μ΄μ§ λ°μ΄ν°λ‘ λ³ννλ κ³Όμ μ λ§ν©λλ€. Base64 λμ½λ©μ κ°λ κ³Ό μ리λ₯Ό μμλ³΄κ² μ΅λλ€.
Base64 λμ½λ© μ리
- Base64λ‘ μΈμ½λ©λ ν μ€νΈλ₯Ό λ°μ΅λλ€. μλ₯Ό λ€μ΄, "aGVoZWxsbyo="μ΄λΌλ Base64 μΈμ½λ©λ λ¬Έμμ΄μ λμ½λ©νλ €κ³ ν©λλ€.
- Base64 μΈμ½λ©μ 6λΉνΈλ‘ μ΄λ£¨μ΄μ§ λ°μ΄ν°λ₯Ό μ¬μ©νκΈ° λλ¬Έμ λμ½λ© κ³Όμ μμλ 6λΉνΈμ© μ΄μ§ λ°μ΄ν°λ‘ λ³νν©λλ€. "aGVoZWxsbyo="μ κ²½μ°, κ° λ¬Έμλ₯Ό μΈλ±μ€λ‘ λ³ννμ¬ 6λΉνΈ μ΄μ§ λ°μ΄ν°λ‘ λ³νν©λλ€. μ΄μ§ ννλ‘ λ³νλ λ°μ΄ν°λ "000001 110100 000110 110001 110110 011011 110111 001010 111111"κ° λ©λλ€.
- λ³νλ μ΄μ§ λ°μ΄ν°λ₯Ό 8λΉνΈλ‘ λ¬Άμ΄ μλμ μ΄μ§ λ°μ΄ν°λ‘ 볡μν©λλ€. μμ μμμλ "00000111 01000001 10110001 10110011 01101111 00101011"μ΄ λ©λλ€.
- μ΅μ’ μ μΌλ‘ μ΄μ§ λ°μ΄ν°λ₯Ό ν μ€νΈ νμμΌλ‘ ννν μλμ λ°μ΄ν°λ‘ λ³νν©λλ€. μμ μμμλ "hello+"κ° λ©λλ€.
μμ μ리λ₯Ό ν΅ν΄ Base64 λμ½λ©μ μνν μ μμ΅λλ€. μ΄μ§ λ°μ΄ν°λ₯Ό 6λΉνΈλ‘ λ¬Άμ΄ Base64λ‘ ννν κ°μ λμ½λ©νμ¬ μλμ λ°μ΄ν°λ₯Ό 볡μνλ κ²μ΄ μ£Όμν λͺ©νμ λλ€.
Base64 λμ½λ©μ λ€μν μΈμ΄μ λΌμ΄λΈλ¬λ¦¬μμ μ 곡λκΈ° λλ¬Έμ ꡬννκΈ° μ½κ³ κ°λ¨ν©λλ€. μλ₯Ό λ€μ΄, JavaScriptμμλ atob()
ν¨μλ₯Ό μ¬μ©νμ¬ Base64 λμ½λ©μ μνν μ μμ΅λλ€. λ°λΌμ, Base64 μΈμ½λ©λ λ°μ΄ν°λ₯Ό λμ½λ©ν΄μΌ νλ μν©μμλ ν΄λΉ μΈμ΄ λλ λΌμ΄λΈλ¬λ¦¬μμ μ 곡νλ λμ½λ© κΈ°λ₯μ νμ©ν μ μμ΅λλ€.
4. Base64 λμ½λ©μ λν μ£Όμμ¬ν
Base64 λμ½λ©μ μνν λ μ μν΄μΌ ν λͺ κ°μ§ μ£Όμμ¬νμ΄ μμ΅λλ€.
λ°μ΄ν° μ ν¨μ± νμΈ
Base64 λμ½λ©μ μννκΈ° μ μ λμ½λ©ν λ°μ΄ν°μ μ ν¨μ±μ νμΈν΄μΌ ν©λλ€. Base64 λμ½λ©μ μλͺ»λ νμμ λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μμΌλ©°, μ€λ₯λ₯Ό λ°μμν¬ μ μμ΅λλ€. λ°λΌμ, λμ½λ©νκΈ° μ μ λ°μ΄ν°κ° Base64 νμμ λ§λμ§ νμΈνλ κ²μ΄ μ€μν©λλ€.
ν¨λ© μ²λ¦¬
Base64 μΈμ½λ©μ 3λ°μ΄νΈμ© λ°μ΄ν°λ₯Ό μΈμ½λ©νλ©°, λ°μ΄ν° κΈΈμ΄κ° 3μ λ°°μκ° μλ κ²½μ° ν¨λ©μ μΆκ°ν©λλ€. ν¨λ©μ "=" λ¬Έμλ‘ νμλ©λλ€. λμ½λ© μμλ ν¨λ©μ μ¬λ°λ₯΄κ² μ²λ¦¬ν΄μΌ ν©λλ€. λμ½λ©ν λ°μ΄ν°μ κΈΈμ΄κ° 4μ λ°°μκ° μλ κ²½μ° ν¨λ©μ μΆκ°νμ¬ κΈΈμ΄λ₯Ό 4μ λ°°μλ‘ λ§μΆκ³ , ν¨λ©μ μ κ±°ν λ°μ΄ν°λ₯Ό λμ½λ©ν΄μΌ ν©λλ€.
ν¬κΈ° μ ν
Base64 μΈμ½λ©μ μλμ μ΄μ§ λ°μ΄ν°λ³΄λ€ μ½ 1/3 ν¬κΈ°κ° μ¦κ°ν©λλ€. λ°λΌμ, λμ½λ©ν λ°μ΄ν°μ ν¬κΈ° λν μ¦κ°ν κ²μ λλ€. λ§€μ° ν° λ°μ΄ν°λ₯Ό λμ½λ©ν΄μΌ νλ κ²½μ°, λ©λͺ¨λ¦¬λ μ±λ₯ λ¬Έμ κ° λ°μν μ μμ΅λλ€. μ΄λ¬ν μν©μμλ μ μ ν λ°©λ²μ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό λΆν νκ±°λ, μ€νΈλ¦¬λ° λ°©μμΌλ‘ μ²λ¦¬νλ κ²μ΄ μ’μ΅λλ€.
보μ μ£Όμ
Base64 μΈμ½λ©μ λ°μ΄ν°λ₯Ό ν μ€νΈ νμμΌλ‘ λ³ννλ―λ‘, μνΈνλ λ°μ΄ν°λ κΈ°λ° μ 보λ₯Ό λμ½λ©ν λ 보μ λ¬Έμ κ° λ°μν μ μμ΅λλ€. Base64 μΈμ½λ©μ λ¨μν λ³ν λ°©μμ΄λ―λ‘, μνΈνλ λ°μ΄ν°μ 보μμ 보μ₯νμ§ μμ΅λλ€. μνΈνλ λ°μ΄ν°λ₯Ό λ€λ£° λμλ 보μμ μν΄ μΆκ°μ μΈ μ‘°μΉκ° νμν©λλ€.
μμ μ£Όμμ¬νμ μμ§νκ³ Base64 λμ½λ©μ μννλ©΄ μνλ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€. λ°μ΄ν°μ μ ν¨μ±, ν¨λ© μ²λ¦¬, ν¬κΈ° μ ν λ° λ³΄μ λ¬Έμ μ λν μ΄ν΄λ μμ νκ³ μ νν λμ½λ©μ 보μ₯νλ λ° λμμ΄ λ©λλ€.
5. Base64 μΈμ½λ© / λμ½λ©μ μ§μνλ νλ‘κ·Έλ¨κ³Ό λΌμ΄λΈλ¬λ¦¬ μκ°
Base64 μΈμ½λ© λ° λμ½λ©μ μνν μ μλ λ€μν νλ‘κ·Έλ¨κ³Ό λΌμ΄λΈλ¬λ¦¬κ° μμ΅λλ€. μ¬κΈ°μλ λͺ κ°μ§ λνμ μΈ μμλ₯Ό μκ°νκ² μ΅λλ€.
1. Python
Pythonμμλ base64
λͺ¨λμ μ¬μ©νμ¬ Base64 μΈμ½λ© λ° λμ½λ©μ μνν μ μμ΅λλ€. λ€μμ Pythonμμμ Base64 μΈμ½λ© λ° λμ½λ© μμμ
λλ€:
import base64
# Base64 μΈμ½λ©
data = b"Hello World"
encoded_data = base64.b64encode(data)
print(encoded_data)
# Base64 λμ½λ©
decoded_data = base64.b64decode(encoded_data)
print(decoded_data)
2. JavaScript
JavaScriptμμλ btoa()
ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ Base64λ‘ μΈμ½λ©νκ³ , atob()
ν¨μλ₯Ό μ¬μ©νμ¬ Base64λ₯Ό λμ½λ©ν μ μμ΅λλ€. λ€μμ JavaScriptμμμ Base64 μΈμ½λ© λ° λμ½λ© μμμ
λλ€:
// Base64 μΈμ½λ©
var data = "Hello World";
var encodedData = btoa(data);
console.log(encodedData);
// Base64 λμ½λ©
var decodedData = atob(encodedData);
console.log(decodedData);
3. Java
Javaμμλ java.util.Base64
ν΄λμ€λ₯Ό μ¬μ©νμ¬ Base64 μΈμ½λ© λ° λμ½λ©μ μνν μ μμ΅λλ€. λ€μμ Javaμμμ Base64 μΈμ½λ© λ° λμ½λ© μμμ
λλ€:
import java.util.Base64;
// Base64 μΈμ½λ©
String data = "Hello World";
String encodedData = Base64.getEncoder().encodeToString(data.getBytes());
System.out.println(encodedData);
// Base64 λμ½λ©
byte[] decodedData = Base64.getDecoder().decode(encodedData);
System.out.println(new String(decodedData));
4. Ruby
Rubyμμλ Base64
λͺ¨λμ μ¬μ©νμ¬ Base64 μΈμ½λ© λ° λμ½λ©μ μνν μ μμ΅λλ€. λ€μμ Rubyμμμ Base64 μΈμ½λ© λ° λμ½λ© μμμ
λλ€:
require 'base64'
# Base64 μΈμ½λ©
data = "Hello World"
encoded_data = Base64.encode64(data)
puts encoded_data
# Base64 λμ½λ©
decoded_data = Base64.decode64(encoded_data)
puts decoded_data
μ΄μΈμλ λ€λ₯Έ νλ‘κ·Έλλ° μΈμ΄μ λΌμ΄λΈλ¬λ¦¬μμλ Base64 μΈμ½λ© λ° λμ½λ©μ μ 곡ν©λλ€. κ° μΈμ΄ λλ λΌμ΄λΈλ¬λ¦¬μ 곡μ λ¬Έμλ₯Ό μ°Έμ‘°νμ¬ μνλ μΈμ΄μμ Base64 μΈμ½λ© λ° λμ½λ©μ μννλ λ°©λ²μ νμΈν μ μμ΅λλ€. Base64 μΈμ½λ© λ° λμ½λ©μ λ€μν νκ²½κ³Ό μΈμ΄μμ μ¬μ©λλ―λ‘, νμμ λ°λΌ μ μ ν λΌμ΄λΈλ¬λ¦¬λ κΈ°λ₯μ μ ννμ¬ νμ©ν μ μμ΅λλ€.
λκΈ