안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간에는 상자 속의 상자를 여는 중첩 반복문을 배웠죠? 오늘은 중요한 정보를 남들이 알아볼 수 없게 살짝 바꾸거나, 다시 원래대로 돌려놓는 ‘인코딩(Encoding)’과 ‘디코딩(Decoding)’ 마법을 배워보겠습니다. 비밀 요원이 된 기분으로 시작해 볼까요?

1. 우리만의 암호 만들기: 인코딩(Encoding)
데이터가 인터넷을 통해 멀리 여행을 갈 때, 어떤 글자들은 모양이 깨지거나 길을 잃기도 해요. 그래서 안전하게 여행할 수 있도록 글자를 특별한 모양으로 포장하는 것을 인코딩이라고 합니다. 가장 유명한 마법은 ‘Base64’라는 것인데, 어떤 글자든 영어와 숫자로만 이루어진 깔끔한 모양으로 바꿔준답니다.
<?php
$secret_message = "마법 학교 보물은 지하 창고에 있어!";
// 1. 정보를 안전하게 포장(인코딩)해요
$encoded = base64_encode($secret_message);
echo "보내기 전 암호화된 모습: " . $encoded;
// 결과는 '66eI67KVIO2Vmeq1kCDrs7TrrLzsnbAg7KeA7ZWYIOywveqzoOydtCDsss!' 처럼 보여요!
?>
2. 암호를 다시 풀어보자: 디코딩(Decoding)
암호화된 편지를 받은 친구는 다시 읽을 수 있는 말로 풀어야겠죠? 포장을 뜯는 과정을 디코딩이라고 합니다. PHP 마법사는 base64_decode라는 주문으로 이 암호를 순식간에 원래 문장으로 돌려놓을 수 있어요.
<?php
// 2. 포장을 다시 뜯어서(디코딩) 원래 내용을 확인해요
$decoded = base64_decode($encoded);
echo "해독된 비밀 메시지: " . $decoded;
?>
3. 왜 이 마법이 필요한가요?
이 마법은 단순히 비밀 유지뿐만 아니라 실용적인 이유로도 쓰여요.
1. 이미지 파일을 코드로 바꿔서 웹사이트에 바로 넣을 때
2. 주소창(URL)에 한글이 들어갔을 때 깨지지 않게 보호할 때
3. 데이터를 아주 안전한 상자에 담아 옮겨야 할 때 주로 사용한답니다.

4. 생활 속의 인코딩: 모스 부호와 수어
우리가 소리 내어 말하는 대신 깃발을 흔들거나(수기 신호), 불빛을 깜빡여서(모스 부호) 정보를 전달하는 것도 일종의 인코딩이에요. 아이와 함께 “우리가 눈짓으로 ‘간식 먹자’라는 신호를 보내기로 한다면, 그건 어떤 인코딩일까?”라고 대화하며 정보가 형태를 바꾸는 재미를 느껴보세요.
마치며: 소중한 정보를 지키는 똑똑한 마법사
인코딩과 디코딩은 현대 인터넷 세상에서 정보가 안전하게 흐를 수 있게 돕는 아주 고마운 마법입니다. 이 원리를 알면 복잡한 데이터가 왜 그렇게 생겼는지 이해할 수 있는 넓은 시야를 갖게 되죠. 오늘 배운 비밀 편지 마법으로 친구에게 암호문을 보내보는 건 어떨까요? 다음 시간에는 데이터를 더 깔끔하게 다듬는 ‘트림(Trim)’ 마법으로 돌아올게요!



