韓文簡訊 90 位元組,能放幾個韓文字?

本文以韓文文字為準。韓國的簡訊在 90 位元組以內是短訊(SMS),超過就成為長訊(LMS)。「90 位元組」常聽到,但實際換算成韓文字要放幾個,算起來其實容易搞混。韓文字每個佔 2 位元組,英文字母、數字、空格只佔 1 位元組,混在一起就能放更多,而且只要夾進一個表情符號,算法又會不一樣。以下依 Geuljasu 位元組計算工具採用的標準,整理計算方式與實際算出的數值。

90 位元組怎麼算

位元組數取決於文字用哪種字元編碼儲存。韓國簡訊常用的標準是 EUC-KR,與網頁使用的 UTF-8 相比,一個韓文字的大小不同。

文字種類EUC-KR(近似)UTF-8
英文字母、數字、空格、基本符號1 位元組1 位元組
一個韓文字2 位元組3 位元組
漢字、假名、表情符號等2 位元組(近似)依字元而異(表情符號約 4 位元組)

Geuljasu 把英文字母與數字算 1 位元組、其他字元算 2 位元組,將這個值顯示為「EUC-KR 近似」;此值在 90 以內為短訊,2,000 以內為長訊。EUC-KR 無法表示的字元(例如表情符號)同樣算 2 位元組。因為是近似值,實際標準請再向電信業者或發送業者確認。

同樣是 90 位元組,字數差很多

90 位元組內放得下的字數僅英文與數字: 90字; 僅韓文字 (EUC-KR): 45字; 僅韓文字 (UTF-8): 30字020406080僅英文與數字90字僅韓文字 (EUC-KR)45字僅韓文字 (UTF-8)30字
90 位元組內放得下的字數 — 只用韓文字是 45 字,只用英文與數字是 90 字。以 UTF-8 計算,韓文字只有 30 字

45 個韓文字在 EUC-KR 剛好是 90 位元組,到第 46 個字就成了 92 位元組,會變成長訊。只用英文與數字寫滿 90 字,剛好是 90 位元組。同樣的 90 位元組,依用字不同,可放 30 字到 90 字。如果只記住「45 字以內」,遇到夾雜數字的實際文案就會算錯。

用實際文案計算

以下是用 Geuljasu 計算函式算出的數值。韓文文案為實際輸入的原文,括號內是中文意思。

文案字數EUC-KR 近似UTF-8類型
[배송] 주문하신 상품이 오늘 출고되었습니다. 운송장 1234567890 (您訂購的商品今天已出貨,附運單號碼)40 字61 位元組82 位元組短訊
Your verification code is 482915. Valid for 3 minutes.54 字54 位元組54 位元組短訊
[글자수닷컴] 안녕하세요, 예약하신 상담이 내일 오후 3시로 확정되었습니다. 방문 전 연락 부탁드립니다. (您預約的諮詢已確定在明天下午 3 點,來訪前請先聯絡)58 字99 位元組140 位元組長訊

第三則通知只有 58 字,但是 99 位元組,超出 9 位元組,所以成為長訊。把這則文案截在 90 位元組,會留下到「…방문 전 연락 부탁」(相當於「來訪前請聯絡」的部分)為止的 53 字,這是以不在字的中間截斷的方式算出的結果。只加一個表情符號也會不同:韓文問候語「안녕하세요 😀」是 7 個字,EUC-KR 近似為 13 位元組。

短訊與長訊怎麼區分

發送前的確認順序撰寫文案 → 計算 EUC-KR 位元組; 計算 EUC-KR 位元組 → 90 位元組以內?; 90 位元組以內? → 短訊(SMS) (是); 90 位元組以內? → 2,000 位元組以內? (否); 2,000 位元組以內? → 長訊(LMS) (是); 2,000 位元組以內? → 刪減文案 (否); 刪減文案 → 計算 EUC-KR 位元組是否是否撰寫文案計算 EUC-KR 位元組90 位元組以內?短訊(SMS)2,000 位元組以內?長訊(LMS)刪減文案
發送前的確認順序 — 先算 EUC-KR 近似位元組數,超過 90 就決定要刪減或改用長訊

從 91 位元組起就是長訊,工具把 2,000 位元組以內視為長訊。如果只有韓文字,大約是 1,000 字上下。許多服務的短訊與長訊收費不同,所以建議先看看稍微刪減一點能否降到 90 位元組以內。

自己確認的程式碼

貼到瀏覽器的主控台,就能立刻看到文案的位元組數與類型。規則與 Geuljasu 位元組計算工具相同,都是近似算法。

// EUC-KR 近似:ASCII 算 1 位元組,其餘算 2 位元組
function smsBytes(text) {
  let eucKr = 0;
  for (const ch of text) eucKr += ch.codePointAt(0) < 0x80 ? 1 : 2;
  const utf8 = new TextEncoder().encode(text).length;
  return { eucKr, utf8, kind: eucKr <= 90 ? '短訊' : eucKr <= 2000 ? '長訊' : '超出' };
}
smsBytes('[배송] 주문하신 상품이 오늘 출고되었습니다. 운송장 1234567890');

刪減時要確認的事

想貼上文案並裁切到 90 位元組,請用位元組計算;想一次看含空白、不含空白的字數等資訊,請用字數統計。

依據:KS X 1001(EUC-KR) 韓文字 2 位元組規格, RFC 3629 UTF-8 韓文字 3 位元組, Geuljasu 位元組計算基準(短訊 90、長訊 2, 000 位元組)。來源確認日 2026-10-20。文中的位元組數與 Geuljasu 工具採用相同算法;實際簡訊發送服務可能依電信業者與發送業者的標準而不同。

與本文相關的工具