AliceLium
text_fields

นับตัวอักษร SMS ภาษาไทย

ข้อความไทยได้ 70 ตัวต่อ SMS ไม่ใช่ 160 — ดูว่าจะถูกหั่นกี่ท่อน หั่นตรงไหน และคิดค่าส่งรวมได้ทันที

lockทำงานในเครื่องคุณ ไฟล์ไม่ถูกอัปโหลด boltเห็นผลทันที ไม่ต้องรอคิว check_circleใช้ได้ไม่จำกัด ไม่นับโควตา
lock_open

เข้าสู่ระบบเพื่อใช้เครื่องมือนี้ — ฟรี

สมัครฟรีในไม่ถึงนาที ไม่ต้องใส่บัตรเครดิต · เก็บประวัติงานของคุณให้อัตโนมัติ

boltสมัครฟรี — ใช้ได้ทันที
มีบัญชีแล้ว?
เข้าสู่ระบบ
check_circleฟรี auto_deleteไฟล์ลบใน 1 ชม. historyเก็บประวัติงาน 7 วัน

คำถามที่พบบ่อย

help
ทำไม SMS ภาษาไทยได้แค่ 70 ตัวอักษร ทั้งที่เว็บอื่นบอก 160?
expand_more

เพราะตัวเลข 160 เป็นความจุของชุดอักขระ GSM-7 ซึ่งเป็นตารางอักขระ 128 ตัว ตามมาตรฐาน 3GPP TS 23.038 ที่เก็บตัวอักษรละ 7 บิต ตารางนั้นมีแต่อักษรโรมัน ตัวเลข เครื่องหมายวรรคตอน และอักษรยุโรปบางตัว ไม่มีอักษรไทยอยู่เลยแม้แต่ตัวเดียว เมื่อข้อความมีอักขระที่อยู่นอกตารางแม้ตัวเดียว ทั้งข้อความต้องเปลี่ยนไปส่งแบบ UCS-2 ซึ่งเก็บตัวอักษรละ 16 บิต ความจุจึงลดเหลือ 70 ตัวต่อข้อความ ตัวเลข 160 ที่เว็บต่างชาติแสดงจึงใช้กับข้อความไทยไม่ได้เลย

help
ทำไมข้อความ 71 ตัวถึงกลายเป็น 2 ท่อน แล้วท่อนละ 67 ไม่ใช่ 70?
expand_more

เมื่อข้อความยาวเกินหนึ่งข้อความ ระบบจะหั่นเป็นหลายท่อนแล้วส่งแยกกัน แต่ละท่อนต้องแนบหัวข้อมูล UDH ขนาด 6 ไบต์ ที่บอกเครื่องปลายทางว่า ท่อนนี้คือท่อนที่เท่าไรของชุดไหน เพื่อให้ประกอบกลับเป็นข้อความเดียวได้ หัวข้อมูลนี้กินพื้นที่ในตัวข้อความเอง ความจุต่อท่อนจึงเหลือ 67 หน่วยสำหรับ UCS-2 และ 153 ตัวสำหรับ GSM-7 · ผลคือข้อความไทย 71 ตัวถูกคิดเป็น 2 ท่อน และคุณจ่ายค่าส่ง 2 ครั้ง ทั้งที่เกินมาแค่ตัวเดียว

help
ทำไมข้อความภาษาอังกฤษล้วนของผมถึงขึ้นว่าเป็น UCS-2?
expand_more

เกือบทุกครั้งเกิดจากอักขระที่หน้าตาคล้ายของจริงแต่ไม่ใช่ ซึ่งติดมาจากการก๊อป ข้อความจาก Word, Google Docs หรือ LINE โดยไม่รู้ตัว ตัวที่พบบ่อยที่สุดคือ อัญประกาศโค้ง (“ ” ‘ ’) ที่โปรแกรมแปลงให้อัตโนมัติ ขีดยาว em dash (—) จุดไข่ปลา (…) และช่องว่างที่มองไม่เห็นอย่าง NBSP กับ ZWSP อักขระพวกนี้ไม่อยู่ในชุด GSM-7 ตัวเดียวก็ทำให้ทั้งข้อความตกไปเป็น UCS-2 ค่าส่งจึงพุ่งขึ้นเป็นเท่าตัวทันที เครื่องมือนี้จะไฮไลต์ให้เห็นทุกตัว พร้อมปุ่มแทนที่ด้วยตัวธรรมดาในคลิกเดียว และคำนวณให้ดูว่าประหยัดได้กี่ท่อน

help
ทำไมจำนวนตัวอักษรที่นี่ไม่ตรงกับเครื่องมือนับคำ?
expand_more

เพราะสองหน้านับคนละหน่วยโดยตั้งใจ หน้านับคำนับ “ตัวอักษรที่คนมองเห็น” (code point) ส่วนหน้านี้นับ “หน่วยที่ระบบ SMS ใช้จริง” ซึ่งเป็นตัวเลขที่ผู้ให้บริการใช้ออกบิล ใน UCS-2 หน่วยหนึ่งคือ 16 บิต อีโมจิหนึ่งตัวจึงกิน 2 หน่วย และใน GSM-7 อักขระในตารางส่วนขยายอย่าง { } [ ] ~ ^ \ | € กินตัวละ 2 หน่วย เพราะต้องมีตัวนำหน้า ถ้าจะประเมินค่าส่ง ให้ยึดตัวเลขของหน้านี้

เครื่องมือที่เกี่ยวข้อง

ดูทั้งหมดchevron_right