๐Ÿ•ฏ๏ธ
2025-09-05โ€ข findout

Base64์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

by Ko

Base64 ์ธ์ฝ”๋”ฉ/๋””์ฝ”๋”ฉ ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” OpenAI ChatGPT API๋ฅผ ์“ธ ๋•Œ ์ด๋ฏธ์ง€๋ฅผ Base64๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋ณด๋‚ด์•ผ ํ•ด์„œ ์จ๋ดค๋˜ ์ •๋„์˜€์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์›น ์ˆ˜์ตํ™”๋ฅผ ์ฐพ์•„๋ณด๋˜ ์ค‘ ์ด ๋„๊ตฌ๋ฅผ ์‚ฌ๋žŒ๋“ค์ด ๋งŽ์ด ์“ด๋‹ค๋Š” ๊ฑธ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์™œ ๋งŒ๋“ค์—ˆ๋‚˜?

์œ ๋ช…ํ•œ ์‚ฌ์ดํŠธ๋“ค์„ ์ง์ ‘ ์จ๋ณด๋‹ˆ UI๊ฐ€ 10๋…„ ์ „ ๋А๋‚Œ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ•œ๊ธ€ ์ฒ˜๋ฆฌ๋„ ์ œ๋Œ€๋กœ ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. "์•ˆ๋…•ํ•˜์„ธ์š”"๋ฅผ ์ธ์ฝ”๋”ฉํ–ˆ๋Š”๋ฐ ๊นจ์ ธ์„œ ๋‚˜์˜ค๊ฑฐ๋‚˜, ๋””์ฝ”๋”ฉํ•  ๋•Œ๋„ ์›๋ž˜ ํ…์ŠคํŠธ๊ฐ€ ์•ˆ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ œ๋„ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ œ๊ฐ€ ์‚ฌ์šฉ์„ฑ์ด๋‚˜ ๋””์ž์ธ ๋ฉด์—์„œ ์‹ ๊ฒฝ ์จ์„œ ๋งŒ๋“ ๋‹ค๋ฉด ์ˆ˜์ตํ™”๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

ํ…์ŠคํŠธ๋ฅผ Base64๋กœ ์ธ์ฝ”๋”ฉํ•˜๊ณ , Base64๋ฅผ ๋‹ค์‹œ ํ…์ŠคํŠธ๋กœ ๋””์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋‹ˆ๊นŒ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ํŒŒ์ผ๋„ Base64๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์ž๋™์œผ๋กœ Base64 ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์ค๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋ฐ”๋กœ ๋‹ค๋ฅธ ๊ณณ์— ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธด Base64 ๋ฌธ์ž์—ด๋„ ํ•œ ๋ฒˆ์— ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๊ณผ์ •

JavaScript์˜ btoa()์™€ atob() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ธฐ๋ณธ์ ์ธ ์ธ์ฝ”๋”ฉ/๋””์ฝ”๋”ฉ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•œ๊ธ€ ๊ฐ™์€ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋Š” ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

Cursor AI์—๊ฒŒ ๋ฌผ์–ด๋ณด๋‹ˆ๊นŒ TextEncoder์™€ TextDecoder๋ฅผ ์‚ฌ์šฉํ•ด์„œ UTF-8 ๋ฐ”์ดํŠธ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„ Base64๋กœ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ธˆ๋ฐฉ ํ•ด๊ฒฐํ•ด์คฌ์Šต๋‹ˆ๋‹ค. ์ƒ์œ„์— ๋…ธ์ถœ๋˜๋Š” Base64 ๋„๊ตฌ๋“ค์„ ํ™•์ธํ•ด๋ณด๋‹ˆ ๋Œ€๋ถ€๋ถ„ ์˜๋ฌธ๋งŒ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ•œ๊ธ€์€ ๊นจ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์—์„œ ์ œ๊ฐ€ ์ข€ ๋” ์œ ๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ํŒŒ์ผ ์ฒ˜๋ฆฌ๋Š” FileReader API๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ์„ ์„ ํƒํ•˜๋ฉด FileReader๋กœ ์ฝ์–ด์„œ Base64๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ํฐ ์ด๋ฏธ์ง€๋ฅผ Base64๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด ๋ฌธ์ž์—ด์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ ธ์„œ ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์–ด์„œ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ์„ ๋‘๊ณ  ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๊ฐœ์„ ํ•œ ๋ถ€๋ถ„

๊ธฐ์กด ์‚ฌ์ดํŠธ๋“ค์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋˜ํ•œ ๋””์ž์ธ์„ ์ ์šฉํ•˜๊ณ , ๋ชจ๋ฐ”์ผ์—์„œ๋„ ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ˜์‘ํ˜•์œผ๋กœ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฑด ํ•œ๊ธ€ ์ฒ˜๋ฆฌ๋ฅผ ์ œ๋Œ€๋กœ ํ–ˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. "์•ˆ๋…•ํ•˜์„ธ์š”"๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๊ณ  ๋‹ค์‹œ ๋””์ฝ”๋”ฉํ•ด๋„ ์ •ํ™•ํžˆ "์•ˆ๋…•ํ•˜์„ธ์š”"๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋Šฅ๋„ ์ œ๋Œ€๋กœ ์•ˆ ๋˜๋Š” ์‚ฌ์ดํŠธ๋“ค์ด ๋งŽ์•˜๋Š”๋ฐ, ์ด ๋ถ€๋ถ„์—์„œ ์ฐจ๋ณ„ํ™”ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์‹ค์‹œ๊ฐ„ ๋ณ€ํ™˜ ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๋Š” ์ฆ‰์‹œ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์„œ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ตํ™” ์ „๋žต

์•„์ง ๊ตฌ์ฒด์ ์ธ ์ˆ˜์ตํ™” ์ „๋žต์€ ์—†์Šต๋‹ˆ๋‹ค. ์—๋“œ์„ผ์Šค ์‹ฌ์‚ฌ๋„ ํ†ต๊ณผ๊ฐ€ ์•ˆ ๋˜์–ด์„œ ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋ ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์‚ฌ๋žŒ๋“ค์ด ๋˜๋„๋ก ๋งŽ์ด ์“ฐ๊ฒŒ ํ•ด์„œ ๊ฒ€์ƒ‰ ์ƒ์œ„์— ๋…ธ์ถœ๋˜๋Š” ๊ฒƒ์„ ๋…ธ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์šฐ์„ ์œผ๋กœ ํ•˜๊ณ , ๋‚˜์ค‘์— ํŠธ๋ž˜ํ”ฝ์ด ๋Š˜์–ด๋‚˜๋ฉด ์ ์ ˆํ•œ ์ˆ˜์ตํ™” ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ๊ณ„ํš์ž…๋‹ˆ๋‹ค.


Base64 ๋„๊ตฌ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด Base64 ์ธ์ฝ”๋”/๋””์ฝ”๋”๋ฅผ ํ™•์ธํ•ด๋ณด์„ธ์š”.

โฆ

Comments (0)

Be the first to leave a scroll on this chronicle.
Kortress Archive System
Base64์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž