칸칸

가이드

이모지 하나는 몇 글자일까

고친 날 · Lumen Lab

사람이 보기엔 한 글자예요. 하지만 컴퓨터 안에서는 여러 조각으로 이루어져 있어서, 세는 방식에 따라 👨‍👩‍👧 하나가 1이 되기도 하고 5, 8, 18이 되기도 해요.

조각으로 뜯어보면

가족 이모지 👨‍👩‍👧은 사실 이모지 세 개를 보이지 않는 이음 글자(ZWJ)로 붙인 거예요.

조각은 5개이고, 이 조각들을 UTF-16으로 적으면 8단위, UTF-8로 적으면 18바이트예요. 화면에는 한 칸만 차지하니 사람에게는 1글자예요.

네 가지 방식으로 센 표

이 사이트의 글자 뜯어보기로 직접 센 값이에요.

글자보이는 글자코드 포인트UTF-16 단위UTF-8 바이트
가1113
😀1124
👍🏽 (엄지 + 피부색)1248
🇰🇷 (K + R)1248
1️⃣ (숫자 + 꾸밈 둘)1337
👨‍👩‍👧15818
🏴󠁧󠁢󠁥󠁮󠁧󠁿 (잉글랜드 깃발)171428

광고

어느 숫자가 맞나요

무엇을 재느냐에 따라 달라요.

  • 사람이 읽는 길이를 재려면 보이는 글자 수가 맞아요. 유니코드 표준은 이것을 글자 묶음(grapheme cluster)이라고 불러요. 이 사이트는 이 기준으로 세요.
  • 저장 용량이나 전송 길이를 재려면 바이트가 맞아요.
  • UTF-16 단위는 자바스크립트 같은 언어에서 글의 길이를 물었을 때 돌아오는 값이에요. 그래서 이 값으로 세는 입력창에서는 👨‍👩‍👧 하나가 8자로 나와요.

글자 수 제한이 있는 곳에 이모지를 넣었더니 생각보다 빨리 한도에 걸렸다면, 그곳은 조각이나 단위로 세고 있는 거예요.

이모지만 그런 게 아니에요

한글도 조각으로 풀어 적을 수 있어요. '한'은 보통 한 조각으로 저장되지만, 초성과 중성과 종성 세 조각(ᄒ, ᅡ, ᆫ)으로 풀어 적는 방식도 있어요. 이렇게 풀린 '한'은 화면에서는 똑같이 보이는데 코드 포인트는 3개, UTF-8로는 9바이트예요. 보이는 글자로 세면 여전히 1글자예요.

글 속에 풀어 적힌 글자나 보이지 않는 글자가 섞여 있으면 눈으로는 찾기 어려워요. 글자 뜯어보기에 글을 넣으면 여러 조각으로 된 글자만 골라서 보여 줘요.

글자를 눌러 조각을 볼 수 있어요.

글자 뜯어보기 열기

더 읽을 글

광고