Đếm ký tự và số tin nhắn SMS online

Đếm số tin SMS (GSM-7 160/153 hoặc UCS-2 70/67), chỉ ra ký tự làm tin chuyển sang Unicode, tạo bản không dấu an toàn GSM và kiểm tra brandname.

Công cụ miễn phí: 20 request mỗi phút.

Kết quả

Bấm “Chạy” để xem kết quả.

Một tin SMS chứa 160 ký tự thuộc bảng chữ GSM 7-bit, nhưng chỉ còn 70 ký tự khi có một ký tự ngoài bảng (UCS-2), và tin dài được chia thành các phần 153 hoặc 67 ký tự. Vì vậy mỗi chữ có dấu tiếng Việt, dấu nháy cong hay emoji có thể làm chi phí tăng gấp đôi, gấp ba. API cho biết kiểu mã hoá, số đơn vị đã dùng (septet hoặc đơn vị UTF-16; ký tự mở rộng ^ { } [ ] ~ | € \ tính hai), số tin và số ký tự còn lại trong tin cuối.

API liệt kê từng ký tự làm tin chuyển sang UCS-2 kèm mã Unicode, vị trí và ký tự thay thế gợi ý, đồng thời trả bản an toàn GSM: bỏ dấu tiếng Việt, thay dấu nháy cong, gạch dài, dấu ba chấm, bỏ emoji, kèm số tin của bản này và số tin tiết kiệm được. segments=true trả thêm nội dung từng phần, brandname kiểm tra tên thương hiệu gửi tin (tối đa 11 ký tự chữ và số).

Cách đếm theo 3GPP TS 23.038 / 23.040; nhà mạng có thể có thêm giới hạn riêng với tin brandname ghép nhiều phần.

Dùng trong code của bạn

curl -X POST "https://apibox.io.vn/v1/sms-count" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Mã OTP của bạn là 123456, hiệu lực 5 phút."}'

Tài liệu API → Nhận API key miễn phí

Hỏi đáp

Vì sao chỉ một chữ có dấu đã thay đổi tất cả?

Chữ có dấu tiếng Việt (ă, ơ, ệ…) không có trong bảng GSM, nên cả tin chuyển sang UCS-2: 70 ký tự thay vì 160.

é, è, à có dùng được với GSM không?

Có, một số chữ Latin có dấu (é è ù ì ò à Ä Ö Ñ Ü…) nằm trong bảng GSM nên không làm tin chuyển sang UCS-2; bản an toàn GSM vẫn bỏ hết dấu như thói quen nhắn tin tiếng Việt.

Emoji được tính thế nào?

Theo UCS-2, và đa số emoji chiếm hai đơn vị UTF-16, nên 35 emoji đã đầy một tin.