Gadget

ทำไมส่ง SMS ได้เพียง 160 ตัวอักษร?


โดย iNid Nirundon

SMS เป็น “Killer App” สำหรับมือถือเสมอมาตั้งแต่ 1G มาถึง 4G นั่นหมายถึงมันมีอายุมากกว่า 20 ปีแล้ว  แต่ทำไมไม่ว่าเครือข่ายหรือตัวเครื่องโทรศัพท์มือถือจะถูกพัฒนาไปไกลขนาดไหน เราก็ยังคงส่ง SMS ได้แค่ 160 ตัวอักษรต่อข้อความ หรือถ้าเป็นภาษาไทยก็ได้เพียง 70 ตัวอักษรเท่านั้น

เรื่องนี้ผู้ที่ให้คำตอบได้อย่างชัดเจนและง่ายต่อการเข้าใจคือคุณ Montai Settapokin ซึ่งได้โพสเอาไว้บน facebook ของตัวเค้าเอง  ผมเห็นว่าน่าจะมีหลายคนสนใจอยากรู้  จึงถือวิสาสะเอามาแชร์ให้ทุกคนได้รู้กัน

ขอบคุณ..คุณ Montai Settapokin ไว้ ณ ที่นี้ด้วยครับ

สงสัยกันไหม ว่าทำไมเราถึงส่ง SMS ได้แค่ 160 ตัวอักษรสำหรับภาษาอังกฤษ และแค่ 70 ตัวอักษรสำหรับภาษาไทยใน 1 SMS มาดูกันว่า SMS ทำงานอย่างไรกันดีกว่า…

เวลาเราใช้มือถือโทรหามือถืออีกเครื่องนึงนั้น จะมี Protocol หนึ่งทำงานก่อนเสมอ ซึ่งก็คือ Signalling System 7 (SS7) มีหน้าที่ทำการเชื่อมต่อสัญญาณระหว่างมือถือทั้ง 2 เครื่อง และตัดการเชื่อมต่อเมื่อใช้งานเสร็จแล้ว (คร่าวๆ ตามนี้)

เอ๋ แล้วระหว่างที่เชื่อมต่อกันละ ตัว SS7 นี้ก็ว่างงานอ่ะสิ เราน่าจะใช้งานอะไรมันได้บ้างนะ เอา SMS มายัดไว้ดีกว่า ไหนดูสิจะยัดไว้ในส่วนไหนดี

อืม เอาไว้ในตัว Mobile Application Part (MAP) ละกัน ไหนดูสิ ตัว Payload จะมีขนาดเท่าไหร่ให้เราใช้งานละ อ่อ 140 oclets แฮะ ก็เท่ากับ 140×8 = 1,120 bits อ่ะดิ

ลองเอาภาษาอังกฤษมาลองใส่ดูสิ ใช้ GSM 7 bits alphabet ในการเข้ารหัสก็พอละ (ใช้ 7 bits ในการแสดงผล 1 ตัวอักษร) ได้กี่ตัวอักษรละ 1,120 / 7 = 160 ตัวอักษรพอดีเลย

ภาษาไทย (และภาษาอื่นๆ) สงสัยใช้แค่ 7 bits มาแทนคงไม่พอแน่ๆ งั้นเข้ารหัสโดยใช้ 16 bits unicode เลยละกัน (ใช้ 16 bits แทน 1 ตัวอักษร) ได้เท่าไหร่นะ 1,120 / 16 = 70 ตัวอักษรเองอ่ะ

จบแล้วครับ ^^”

Graphic Courtesy of Ericsson
20-years-sms-infographic

 

© 2019 GOTWOGETHER     About | Contact
 
TOP
Powered by: Wordpress