UCS-2

대부분의 이모지와 비라틴 문자에 쓰이는 16비트 SMS 인코딩으로, 세그먼트당 70자, 연결 시 67자가 들어갑니다.

정의만 제공합니다. 여기에서 설명하는 용어는 당사가 판매하는 서비스가 아닙니다.

UCS-2는 문자당 16비트로 거의 모든 문자 체계를 인코딩하며, 이 때문에 SMS 세그먼트 하나에 들어가는 문자는 70자로 줄어듭니다. GSM-7 문자 집합에 없는 문자(대부분의 이모지와 대부분의 비라틴 문자)가 하나만 있어도 메시지 전체가 UCS-2로 바뀝니다.

인코딩은 메시지 단위로 선택되므로, GSM-7에 없는 문자 하나가 텍스트 전체를 바꿉니다.

인코딩, 단위, 세그먼트

인코딩
UCS-2
문자
22
코드 단위
23
세그먼트
1
샘플 메시지의 인코딩, 문자 수, 코드 단위 기준 크기, 세그먼트 수.
텍스트 설명

이 그림은 하나의 샘플 메시지에 대해 선택된 인코딩, 문자 수, 인코딩 단위 기준 크기, 그리고 그 크기에 필요한 세그먼트 수를 보여 줍니다. UCS-2에서 단위는 16비트 코드 단위입니다.

인코딩이 선택되는 방식

SMS는 GSM-7로 시작합니다. 이 문자 집합에 없는 문자가 있으면 메시지는 UCS-2 또는 네트워크가 지원하는 다른 코딩으로 전환됩니다. 전환은 메시지 전체에 적용되므로, GSM-7에 들어가는 문자도 2바이트를 차지합니다.

140바이트를 문자당 2바이트로 나누면 70이 되므로, 세그먼트 하나에는 70자가 들어갑니다. 보조 평면의 이모지는 UTF-16 코드 단위 2개가 필요하고, 실제로 단말기와 메시지 센터는 UTF-16으로 전송하므로, 이모지가 많은 텍스트에는 더 적은 문자가 들어갑니다. 엄격한 UCS-2로는 이런 이모지를 아예 인코딩할 수 없습니다. SMS 세그먼트 계산기로 세그먼트 수를 확인할 수 있습니다.

자주 묻는 질문

UCS-2는 UTF-16과 같은 것입니까?

비슷하지만 같지는 않습니다. UCS-2는 고정된 16비트 단위를 사용하고, UTF-16은 기본 평면 밖의 문자에 서로게이트 쌍을 사용합니다. 실제로 단말기와 메시지 센터는 UTF-16으로 전송합니다.

UCS-2 세그먼트 하나에는 몇 자가 들어갑니까?

사용자 데이터 헤더가 없으면 70자, 있으면 67자입니다. 보조 평면의 이모지는 UTF-16 코드 단위 2개를 차지하며, 엄격한 UCS-2로는 인코딩할 수 없습니다.

어떤 언어에 UCS-2가 필요합니까?

많은 비라틴 문자 체계와, GSM-7에 없는 문자가 포함된 모든 텍스트에 필요합니다. 일부 악센트가 붙은 라틴 문자도 이미 UCS-2가 필요합니다.

자세히 보기

출처

  1. 3GPP TS 23.038: SMS용 문자 집합 및 언어별 정보