คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 3
• SMS อาศัย เนื้อที่ว่างของ Protocol การเชื่อมต่อโทรศัพท์ ที่เรียกว่า SS7 มาประยุกต์ ครับ
(SS7 Signalling System No 7 คร่าวๆ คือ ขั้นตอนการเชื่อมสัญญาณ ระหว่างมือถือ ตอนที๋โทรหากัน แล้วพอเชื่อมติด ก็จะหมดหน้าที่ไป)
• เนื้อที่ว่างของ SS7 ที่เอามาประยุกต์ใช้กับ SMS เรียกว่า Mobile Application Part
มีเนื้อทีว่างอยู่ 1120 bit
• ในเมื่อ อยากส่งให้ได้ข้อมูลมากที่สุด (สมัยก่อน) จึงใช้ อักษร ขนาด 7 bit
เช่น
z = 7A16 = 111 10102
Z = 5A16 = 100 10102
1120 หารด้วย 7 = 160
ดังนั้น ก็จะส่งได้ 160 ตัวอักษรภาษาอังกฤษ
ซึ่งตาราง GSM 03.38 แบบ 7 bit สำหรับภาษาอังกฤษ เป็นดังนี้ ครับ
จะเห็นว่า
z = 7A16 = 111 10102
Z = 5A16 = 100 10102

• แต่เมื่อนำมาใช้กับภาษาอื่น ก็ต้องขยายตาราง ก็เลยต้องใช้ 16 bit เพื่อรองรับได้หลากหลายภาษา
(ตัว app ที่ส่ง SMS จะตรวจเอง ว่า เนื้อหามีแค่อังกฤษ+สัญลักษณ์ล้วน เป็น 7 bit ทั้งหมดได้หรือไม่
ถ้าไม่ได้ คือ มีอักษรอื่นปนมา ก็จะปรับไปใช้ 16 bit ให้เองโดยอัตโนมัติ)
1120 หารด้วย 16 = 70
ดังนั้น หากมีอักษรอื่นปน ก็จะส่งได้ 70 ตัวอักษร
ครับ
สำหรับภาษาไทย ได้ตาราง ที่ 0E0016 ครึ่งแรก คือ 0E0016 - 0E7F16
ภาษาลาว ได้ตารางที่ x0E0016 ครึ่งหลัง คือ 0E8016 - 0EFF16
ส่วนภาษาอังกฤษ ก็ได้ตารางที่ x0000 (ฐาน 16)
นั่นคือ อักษรไทยหรือลาวต้องนำหน้าด้วย 0E / อังกฤษต้องนำหน้าด้วย 00
เช่น
ส = 0E2A16
ว = 0E2716
z = 007A16
Z = 005A16
ดังตัวอย่างตารางนี้

(ภาพจาก https://www.thaicert.or.th/papers/technical/2014/pa2014te001.html ครับ)
หากอยากดูตารางอักษรไทย
http://www.unicode.org/charts/PDF/U0E00.pdf
หากอยากดูตารางอักษรลาว
http://www.unicode.org/charts/PDF/U0E80.pdf
ดังนั้นหากส่ง คำว่า
Hi A
เครื่องจะพบว่า ใช้แค่ 7 bit ก็พอ .... ก็จะได้
48 69 20 41
กินเนื้อที่ = 28 bit
แต่หากส่งคำว่า
Hi เอ
เครื่องจะพบว่า ต้องใช้แบบ 16 bit ..... ก็จะได้
0048 0069 0020 0E40 0E2D
กินเนื้อที่ = 80 bit
จากเนื้อที่ ที่มีไว้แบ่งสรร แค่ 1120 bit ครับ
แถม
• ภาษาอังกฤษ แบบ 160 ตัว
ถ้าส่งคราวเดียวเกิน 160 จะมีการแบ่งส่ง 2 ส่วน
แต่ในการแบ่งส่ง ต้องมีตัวเชื่อม ดังนั้น จะเหลือข้อความละ 152 ตัวอักษร แบ่งเป็น 2 ข้อความ
• ภาษาอื่น ๆ แบบ 70 ตัว
ถ้าส่งคราวเดียวเกิน 70 จะมีการแบ่งส่ง 2 ส่วน
แต่ในการแบ่งส่ง ต้องมีตัวเชื่อม ดังนั้น จะเหลือข้อความละ 67 ตัวอักษร แบ่งเป็น 2 ข้อความ
ครับ
SS7 เริ่มใช้ประมาณปี 2518
SMS เริ่มใช้ประมาณปี 2535
(SS7 Signalling System No 7 คร่าวๆ คือ ขั้นตอนการเชื่อมสัญญาณ ระหว่างมือถือ ตอนที๋โทรหากัน แล้วพอเชื่อมติด ก็จะหมดหน้าที่ไป)
• เนื้อที่ว่างของ SS7 ที่เอามาประยุกต์ใช้กับ SMS เรียกว่า Mobile Application Part
มีเนื้อทีว่างอยู่ 1120 bit
• ในเมื่อ อยากส่งให้ได้ข้อมูลมากที่สุด (สมัยก่อน) จึงใช้ อักษร ขนาด 7 bit
เช่น
z = 7A16 = 111 10102
Z = 5A16 = 100 10102
1120 หารด้วย 7 = 160
ดังนั้น ก็จะส่งได้ 160 ตัวอักษรภาษาอังกฤษ
ซึ่งตาราง GSM 03.38 แบบ 7 bit สำหรับภาษาอังกฤษ เป็นดังนี้ ครับ
จะเห็นว่า
z = 7A16 = 111 10102
Z = 5A16 = 100 10102

• แต่เมื่อนำมาใช้กับภาษาอื่น ก็ต้องขยายตาราง ก็เลยต้องใช้ 16 bit เพื่อรองรับได้หลากหลายภาษา
(ตัว app ที่ส่ง SMS จะตรวจเอง ว่า เนื้อหามีแค่อังกฤษ+สัญลักษณ์ล้วน เป็น 7 bit ทั้งหมดได้หรือไม่
ถ้าไม่ได้ คือ มีอักษรอื่นปนมา ก็จะปรับไปใช้ 16 bit ให้เองโดยอัตโนมัติ)
1120 หารด้วย 16 = 70
ดังนั้น หากมีอักษรอื่นปน ก็จะส่งได้ 70 ตัวอักษร
ครับ
สำหรับภาษาไทย ได้ตาราง ที่ 0E0016 ครึ่งแรก คือ 0E0016 - 0E7F16
ภาษาลาว ได้ตารางที่ x0E0016 ครึ่งหลัง คือ 0E8016 - 0EFF16
ส่วนภาษาอังกฤษ ก็ได้ตารางที่ x0000 (ฐาน 16)
นั่นคือ อักษรไทยหรือลาวต้องนำหน้าด้วย 0E / อังกฤษต้องนำหน้าด้วย 00
เช่น
ส = 0E2A16
ว = 0E2716
z = 007A16
Z = 005A16
ดังตัวอย่างตารางนี้

(ภาพจาก https://www.thaicert.or.th/papers/technical/2014/pa2014te001.html ครับ)
หากอยากดูตารางอักษรไทย
http://www.unicode.org/charts/PDF/U0E00.pdf
หากอยากดูตารางอักษรลาว
http://www.unicode.org/charts/PDF/U0E80.pdf
ดังนั้นหากส่ง คำว่า
Hi A
เครื่องจะพบว่า ใช้แค่ 7 bit ก็พอ .... ก็จะได้
48 69 20 41
กินเนื้อที่ = 28 bit
แต่หากส่งคำว่า
Hi เอ
เครื่องจะพบว่า ต้องใช้แบบ 16 bit ..... ก็จะได้
0048 0069 0020 0E40 0E2D
กินเนื้อที่ = 80 bit
จากเนื้อที่ ที่มีไว้แบ่งสรร แค่ 1120 bit ครับ
แถม
• ภาษาอังกฤษ แบบ 160 ตัว
ถ้าส่งคราวเดียวเกิน 160 จะมีการแบ่งส่ง 2 ส่วน
แต่ในการแบ่งส่ง ต้องมีตัวเชื่อม ดังนั้น จะเหลือข้อความละ 152 ตัวอักษร แบ่งเป็น 2 ข้อความ
• ภาษาอื่น ๆ แบบ 70 ตัว
ถ้าส่งคราวเดียวเกิน 70 จะมีการแบ่งส่ง 2 ส่วน
แต่ในการแบ่งส่ง ต้องมีตัวเชื่อม ดังนั้น จะเหลือข้อความละ 67 ตัวอักษร แบ่งเป็น 2 ข้อความ
ครับ
SS7 เริ่มใช้ประมาณปี 2518
SMS เริ่มใช้ประมาณปี 2535
แสดงความคิดเห็น
ทำไม การพิมพ์ภาษาไทย ในการส่งข้อความ ถึงกินเนื้อที่มากกว่า / และทำไม ซิมถึงไม่พัฒนา ให้มีหน่วยความจำมากกว่านี้ครับ