๐Ÿงต๋ฌธ์ž์—ด ๋ฐ”์ดํŠธ ๊ธธ์ด ๊ณ„์‚ฐ๊ธฐ

UTF-8 ๋ฐ”์ดํŠธยท์ฝ”๋“œํฌ์ธํŠธยท๊ทธ๋ž˜ํ•Œ ์ˆ˜๋ฅผ ํ•œ ๋ฒˆ์—

๊ธ€์ž์ฝ”๋“œํฌ์ธํŠธUTF-8 bytestr.length / ์ฝ”๋“œํฌ์ธํŠธ

๊ด€๋ จ๋œ ๋„๊ตฌ

๋ฌธ์ž์—ด ๋ฐ”์ดํŠธ ๊ธธ์ด ๊ณ„์‚ฐ๊ธฐ ์‚ฌ์šฉ๋ฒ•

๋ฌธ์ž์—ด์„ ๋ถ™์—ฌ๋„ฃ์œผ๋ฉด UTF-8 ๋ฐ”์ดํŠธ ์ˆ˜, UTF-16 ์ฝ”๋“œ์œ ๋‹› ์ˆ˜, ์ฝ”๋“œํฌ์ธํŠธ ์ˆ˜, ๊ทธ๋ž˜ํ•Œ ์ˆ˜๋ฅผ ํ•œ ๋ฒˆ์— ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋„ค ์ˆ˜์น˜๋Š” ๊ฐ™์•„ ๋ณด์ด์ง€๋งŒ ์ž์ฃผ ์–ด๊ธ‹๋‚ฉ๋‹ˆ๋‹ค. ์ด๋ชจ์ง€ ๐Ÿ˜€ ํ•œ ๊ธ€์ž๋Š” UTF-8 ๋กœ 4๋ฐ”์ดํŠธ, ์ฝ”๋“œ์œ ๋‹› 2๊ฐœ, ์ฝ”๋“œํฌ์ธํŠธ 1๊ฐœ, ๊ทธ๋ž˜ํ•Œ 1๊ฐœ์ž…๋‹ˆ๋‹ค. ๊ฐ€์กฑ ์ด๋ชจ์ง€ ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง ๋Š” 18๋ฐ”์ดํŠธ, ์ฝ”๋“œ์œ ๋‹› 8๊ฐœ, ์ฝ”๋“œํฌ์ธํŠธ 5๊ฐœ์ธ๋ฐ ๊ทธ๋ž˜ํ•Œ์€ 1๊ฐœ์ž…๋‹ˆ๋‹ค. ์ƒ˜ํ”Œ ๋ฒ„ํŠผ์œผ๋กœ ๋ฐ”๋กœ ํ™•์ธํ•ด ๋ณด์„ธ์š”.

๊ณ„์‚ฐ ๋ฐฉ์‹๊ณผ ๊ธฐ์ค€

UTF-8 ๋ฐ”์ดํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ € ํ‘œ์ค€ API ์ธ TextEncoder ๋กœ ์‹ค์ œ ์ธ์ฝ”๋”ฉํ•ด ์„ธ๊ณ , ์ฝ”๋“œํฌ์ธํŠธ๋Š” Array.from, ๊ทธ๋ž˜ํ•Œ์€ ECMA-402 ์˜ Intl.Segmenter ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. UTF-16ยทUTF-32 ๋ฐ”์ดํŠธ๋Š” ์ฝ”๋“œ์œ ๋‹›ร—2, ์ฝ”๋“œํฌ์ธํŠธร—4 ์ด๋ฉฐ BOM ์€ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ ๋‹ˆ์ฝ”๋“œ ์ปจ์†Œ์‹œ์—„ ์˜ ์ •์˜๋ฅผ ๋”ฐ๋ฅด๊ณ  2026๋…„ 10์›” ๊ธฐ์ค€์œผ๋กœ ๋™์ž‘์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•œ๊ณ„์™€ ์ฃผ์˜์‚ฌํ•ญ

Intl.Segmenter ๊ฐ€ ์—†๋Š” ๊ตฌํ˜• ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ๊ทธ๋ž˜ํ•Œ ์ˆ˜๋ฅผ ์ฝ”๋“œํฌ์ธํŠธ ์ˆ˜๋กœ ๋Œ€์ฒดํ•˜๊ณ  ๊ทธ ์‚ฌ์‹ค์„ ํ™”๋ฉด์— ์ ์Šต๋‹ˆ๋‹ค. ํ‘œ๋Š” ์•ž 50๊ธ€์ž๋งŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ˆ˜์น˜๋งŒ ์•Œ๋ ค์ฃผ๋ฉฐ ๊ธธ์ด ์ œํ•œ์— ๋งž์ถ˜ ๋ณด์ •์€ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณ„์‚ฐ์€ ๋ธŒ๋ผ์šฐ์ € ์•ˆ์—์„œ๋งŒ ์ผ์–ด๋‚˜์ง€๋งŒ ํ† ํฐ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ๋ฌธ์ž์—ด์€ ์“ด ๋’ค ์ง€์šฐ์‹œ๊ธธ ๊ถŒํ•ฉ๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

str.length ๊ฐ€ ๋ˆˆ์— ๋ณด์ด๋Š” ๊ธ€์ž ์ˆ˜์™€ ๋‹ค๋ฅผ๊นŒ?

JavaScript ์˜ str.length ๋Š” UTF-16 ์ฝ”๋“œ์œ ๋‹› ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด๋ชจ์ง€ ๐Ÿ˜€ ๋Š” ์„œ๋Ÿฌ๊ฒŒ์ดํŠธ ์Œ์ด๋ผ 2, ๊ฐ€์กฑ ์ด๋ชจ์ง€ ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง ๋Š” 8 ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ์ด ์„ธ๋Š” ๊ธ€์ž ์ˆ˜๋Š” ๊ทธ๋ž˜ํ•Œ ํ–‰์„ ๋ณด์„ธ์š”.

DB ์—ด ๊ธธ์ด๋Š” ์–ด๋–ค ์ˆซ์ž๋ฅผ ๋ด์•ผ ํ• ๊นŒ?

์ œํ•œ์ด ๋ฐ”์ดํŠธ ๋‹จ์œ„์ธ์ง€ ๋ฌธ์ž ๋‹จ์œ„์ธ์ง€๊ฐ€ DBยท์—ด ์„ค์ •๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋ฐ”์ดํŠธ ์ œํ•œ์ด๋ฉด UTF-8 ๋ฐ”์ดํŠธ ์ˆ˜, ๋ฌธ์ž ์ œํ•œ์ด๋ฉด ์ฝ”๋“œํฌ์ธํŠธ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ณด์„ธ์š”.

์ด ๋„๊ตฌ๊ฐ€ ํ•˜์ง€ ์•Š๋Š” ์ผ์€ ๋ฌด์—‡์ผ๊นŒ?

๊ธธ์ด์— ๋งž์ถ˜ ๋ง์ค„์ž„ยท์ž๋ฅด๊ธฐ ๊ฐ€๊ณต๊ณผ, ํŠน์ • SNSยท๋ฌธ์ž ์„œ๋ฒ„์˜ ๊ธ€์ž ์ œํ•œ ์•ˆ๋‚ด๋Š” ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ๋ณ„ ์ˆ˜์น˜๋งŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.