Tags:
Node Thumbnail

มาตรฐาน ASCII ที่เราใช้พิมพ์ภาษาอังกฤษในคอมพิวเตอร์ทุกวันนี้ นับตั้งแต่ตัวอักษร, เครื่องหมาย, คำสั่ง เช่น ลบหรือขึ้นบรรทัดใหม่ ล้วนถูกกำหนดไว้ในตาราง ASCII ที่เขียนกำหนดไว้ใน RFC20 โดย Vint Cerf มาตั้งแต่ปี 1969 ผ่านมา 46 ปีตอนนี้ RFC20 ได้รับสถานะ "มาตรฐานอินเทอร์เน็ต" เต็มรูปแบบจาก IETF แล้ว

เหตุที่ RFC20 เพิ่งได้รับสถานะมาตรฐานอินเทอร์เน็ตเพราะมันถูกเขียนมาก่อนจะมีกระบวนการรับรองมาตรฐานอินเทอร์เน็ต ทำให้เอกสารอยู่ในสภาพไร้สถานะใน IETF มาโดยตลอด

ทาง IETF อนุมัติการประกาศมาตรฐานนี้ตั้งแต่วันที่ 12 ที่ผ่านมา และปรับสถานะในตัวเอกสารในวันนี้

ถึงตอนนี้ก็เขียน ASCII กันได้สบายใจไม่ต้องดราม่าว่าไม่ใช่มาตรฐานเปิดครับ

ที่มา - +Lauren Weinstein

alt="upic.me"

Get latest news from Blognone

Comments

By: kamthorn
ContributorAndroidUbuntu
on 28 January 2015 - 16:55 #786325

สมกับเป็นตาราง ASCII วาดด้วยอักขระ ASCII ทั้งหมด


-- blog

By: dafty
AndroidWindowsIn Love
on 28 January 2015 - 17:08 #786332

มาตรเช็คอายุเลยตัวนี้ - :D

By: arth
iPhoneWindows PhoneWindows
on 28 January 2015 - 17:19 #786337

ทำไมตารางมีแค่ 7 บิตอะครับ แล้วตั้งแต่ 0x80 ถึง 0xFF หายไปไหน

By: lew
FounderJusci's WriterMEconomicsAndroid
on 28 January 2015 - 17:32 #786339 Reply to:786337
lew's picture

ยินดีด้วยครับ ถามแบบนี้แสดงว่ายังไม่แก่จริง :P


lewcpe.com, @public_lewcpe

By: spong on 28 January 2015 - 17:35 #786343 Reply to:786339

เหอะๆ เจอแบบนี้ ขอเงียบดีกว่า

By: Ton-Or
ContributorAndroidCyberbeingRed Hat
on 28 January 2015 - 20:06 #786393 Reply to:786339
Ton-Or's picture

ตอบงี้เล่นเอาจุกเลย


Ton-Or

By: John
iPhoneWindows PhoneAndroidSymbian
on 29 January 2015 - 09:30 #786547 Reply to:786339
John's picture

เจอแบบนี้เข้าไป ไม่กล้าตอบเลย

By: bouroo
AndroidRed HatUbuntuIn Love
on 28 January 2015 - 18:17 #786363 Reply to:786337
bouroo's picture

ในตารางมันน่าเป็น ASCII 63 รึเปล่าครับ ดั้งเดิม มันเลยมีแค่ 128 ตัว 7 บิต
แล้วบิตที่ 8 เพิ่มมาทีหลัง ให้ตัวหนังสือภาษาอื่น
ปล. เดานะ เดา ผมเดาล้วนๆ เลย

By: osmiumwo1f
ContributorWindows PhoneWindows
on 28 January 2015 - 18:22 #786365 Reply to:786337

บิตที่เหลือใช้เป็น parity bit ครับ (บิตสำหรับตรวจสอบความถูกต้อง) แต่ถ้าเอา ASCII มาใช้กับภาษาไทย parity bit จะถูกเอามาใช้เป็นบิตข้อมูลแทนครับ
ปล. ผมไม่แก่นะ

By: Hadakung
iPhoneWindows PhoneAndroidWindows
on 28 January 2015 - 18:39 #786368 Reply to:786337

ไม่รู้แหะ เกิดมาก็ UTF-16 แล้ว :P

By: vittee
AndroidRed HatUbuntuWindows
on 28 January 2015 - 19:55 #786389 Reply to:786337
vittee's picture

bit7 ที่เป็น msb ภายหลังถูกเอามาทำเป็น codepage ครับ เช่น windows-874 หรือ tis-620 นั่นแหละครับ

By: Bigkung
iPhoneWindows Phone
on 29 January 2015 - 11:58 #786611 Reply to:786337
Bigkung's picture

มันก็ 8bit ไม่ใช่เหรอครับ แต่มันนับ 0 ถึง 7 คอมพิวเตอร์เลขเริ่มต้นที่มันนับคือ 0 นิครับไม่ใช่ 1 ไอ้ที่ว่า 0x80 ถึง 0xFF ผมไม่รู้เรื่องฮ่าๆๆ มันฐาน 16 แล้วไม่ใช่เหรอนั่น จำนวนบิตเขาไว้เรียกใน ฐาน 2 นี่นา หรือผมเมา

เรียนมาก็ลืมจะหมดแล้ว มันไปถึงในกันแล้วเนี่ย sign bit เอย priority bit เอย ตีกันมั่วไปหมดแระ

อ๋าผมไปละลึกชาติมาแล้ว ถ้าใครเคยเล่น ภาษา C ใน Turbo c จะรู้ ว่าโค๊ต ASCII มันเอามาใช้เล้นกันสนุกเลยโดยเฉพาะตีตาราง แล้วก็โค๊ต ASCII มันมีแค่ 8 bit เท่านั้น ที่เป็นไปได้คือ 00 ถึง FF (แต่จะมีหรือเปล่านั้นอีกเรื่อง ก็ลอง run 0 ถึง 127 เป็น %C ดูครับ)แต่ ระบบอื่นผมไม่ได้เรียนเลยอ่ะ

By: McKay
ContributorAndroidWindowsIn Love
on 29 January 2015 - 12:03 #786621 Reply to:786611
McKay's picture

ในตารางใช้ b1 ถึง b7 ครับ


In Soviet Warcraft, Argus comes to you.

By: Bigkung
iPhoneWindows Phone
on 29 January 2015 - 12:13 #786624 Reply to:786621
Bigkung's picture

ผมละลึกชาติได้แระ มันใช้ทั้งหมด 8 bit ครับ 7bit ในการแทนตัวสัญลักษณ์ต่างๆ ส่วน bit แรกสุด เขาใช้เป็น sign bit หรือก็คือ + กับ - เท่าที่ผมเคยเรียนมาหน่ะนะ เพราะฉะนั้น ถ้าเขียนโปรแกรมใน Turbo C ก็สั่งให้มัน Run เลข ฐาน 10 จาก 0 ถึง 127 แล้วสั่งแสดงผลเป็น Char (%C) ก็จะได้ตาราง ASCII ครับ เคยทำสูงกว่านั้นอยู่ แต่ผมจำไม่ได้ว่าผลเป็นยังไง คลับคล้ายคลับคราว่าเจอตัวอักษรประเทศอื่นๆด้วย

ปล. กำลังพิมพ์แก้เพิ่มเลย เจอมีคนตอบก่อน ฮ่าๆๆ เลยต้องตั้งใหม่

By: McKay
ContributorAndroidWindowsIn Love
on 29 January 2015 - 12:16 #786629 Reply to:786624
McKay's picture

7bit ASCII(as char) ถูกใช้ในยุคแรกๆครับ อันนี้ผมไม่เท้าความมากนะครับ แต่ขอบอกคร่าวๆว่าเมื่อก่อน computer ไม่ได้ใช้ระบบ 8bit-based(8,16,32,64) หน่ะครับ

ส่วน sign bit(as number types) ไม่เกี่ยวข้องกับกรณีนี่นะครับ


In Soviet Warcraft, Argus comes to you.

By: Bigkung
iPhoneWindows Phone
on 29 January 2015 - 12:37 #786634 Reply to:786629
Bigkung's picture

ใช่ครับไม่เกี่ยวข้อง มันเลยเป็น 0 อยู่อย่างงั้น(เห็นมีคนถามว่า bit ที่เหลือไว้ทำอะไรหน่ะครับ ส่วนตัวผมมองว่าเขาเขียนให้ครบ 8 bit เผื่อในกรณี จะเขียนในรูปฐาน 16 ได้มากกว่าครับ สั้นดีด้วย) เพราะตัวกำหนดไม่ได้อยู่ที่ชุดตัวเลข 8 bit พวกนี้ แต่เป็นคำสั่งในการแสดงผลว่าจะให้แสดงในรูปแบบใหนมากกว่านี่ครับ เขาเลยสร้างรูปแบบรหัสใหม่ขึ้นมาเพื่อรองรับอักขระ ให้มากขึ้น จริงๆมันก็ 127 ตัวแรกก็เป็นรหัสชุดเดิม แต่บวกอักขระ ต่างๆเพิ่มเข้าไปต่อจาก ASCII เลย ระยะห่างผมจำไม่ได้ แต่มีช่องว่างระหว่างกันเยอะอยู่กว่าจะขึ้นอักขระชุดใหม่

ส่วนที่ว่า "computer ไม่ได้ใช้ระบบ 8bit-based(8,16,32,64)" อันนี้ผู้สอนผมเขาไม่ได้เล่าเลยอ่ะครับ(แต่พูดสะผมสนใจ จนอยากไปคุ้ยข้อมูลกันเลยทีเดียว) เหอๆ ขอบคุณสำหรับความรู้ครับ

อ่า... ไปอ่านมาได้ข้อความสรุปมาว่า

รหัสแอสกีมีใช้ในระบบคอมพิวเตอร์ และเครื่องมือสื่อสารแบบดิจิทัลต่างๆ พัฒนาขึ้นโดยคณะกรรมการ X3 ซึ่งอยู่ภายใต้การดูแลของสมาคมมาตรฐานอเมริกา (American Standards Association) ภายหลังกลายเป็น สถาบันมาตรฐานแห่งชาติอเมริกา (American National Standard Institute : ANSI) ในปี ค.ศ. 1969 โดยเริ่มต้นใช้ครั้งแรกในปี ค.ศ. 1967 ซึ่งมีอักขระทั้งหมด 128 ตัว (7 บิต) โดยจะมี 33 ตัวที่ไม่แสดงผล (unprintable/control character) ซึ่งใช้สำหรับควบคุมการทำงานของคอมพิวเตอร์บางประการ เช่น การขึ้นย่อหน้าใหม่สำหรับการพิมพ์ (CR & LF - carriage return and line feed) การสิ้นสุดการประมวลผลข้อมูลตัวอักษร (ETX - end of text) เป็นต้น และ อีก 95 ตัวที่แสดงผลได้ (printable character)

รหัสแอสกีได้รับการปรับปรุงล่าสุดเมื่อ ค.ศ. 1986 ให้มีอักขระทั้งหมด 256 ตัว (8 บิต) และเรียกใหม่ว่าแอสกีแบบขยาย อักขระที่เพิ่มมา 128 ตัวใช้สำหรับแสดงอักขระเพิ่มเติมในภาษาของแต่ละท้องถิ่นที่ใช้ เช่น ภาษาเยอรมัน ภาษารัสเซีย ฯลฯ โดยจะมีผังอักขระที่แตกต่างกันไปในแต่ละภาษาซึ่งเรียกว่า โคดเพจ (codepage) โดยอักขระ 128 ตัวแรกส่วนใหญ่จะยังคงเหมือนกันแทบทุกโคดเพจ มีส่วนน้อยที่เปลี่ยนแค่บางอักขระ

ที่มา : http://th.wikipedia.org/wiki/แอสกี

สรุปผมเข้าใจผิดเองแหล่ะ
พอกันก่อนเดี๋ยวโควต้าหมด

By: McKay
ContributorAndroidWindowsIn Love
on 29 January 2015 - 12:38 #786638 Reply to:786634
McKay's picture

คุณยังไม่เข้าใจครับว่าทำไมถึงเป็น 7bit แต่ไม่ใช่ 8bit และยังอิงกับค่า 0/1 ใน bit ที่ 8 อยู่ เพราะว่าคุณยังอิงกับระบบ 8bit อยู่ครับ

ต้นกำเนิดของ ASCII อยู่ที่ ASCII-7bit ครับหรือพูดง่ายๆว่าไม่มีบิตที่ 8 โดยระบบ 8bit นี่มาทีหลัง

Edit:อ่าวเกือบเร็วเกินไป - -"


In Soviet Warcraft, Argus comes to you.

By: Bigkung
iPhoneWindows Phone
on 29 January 2015 - 18:32 #786676 Reply to:786638
Bigkung's picture

คาดว่าโคต้าตอบอันนี้คงหมดพอดี หุหุ

ใช่ครับผมโดนสอนมาแตั้งแต่มาเรียนสายนี้ตอนมหาวิทยาลัยว่า 8bits เป็น 1byte เลยหน่ะ แต่ถึงจะใช้น้อยกว่านั้นคอมพิวเตอร์ก็เอาไปแปลงเป็น 8 อยู่ดีเพื่อให้มันเท่ากับขนาดหน่วยของหน่วยความจำหลักถึงไม่ใส่มันก็จะเติม 0 ให้เต็ม 8 bit ให้เอง ก็อย่างว่านะเมื่อก่อนมันใช้แค่อเมริกาจะเอาอะไรเยอะแยะ เพราะยังไม่ได้ทำอะไรที่ซับซ้อนมาก แล้วก็ตอนที่ผมเล่นตอนนั้นก็เพราะเป็นแอสกีแบบขยายแล้วซะด้วย ถ้าไม่มีบทความบอกความเป็นมา 7bit ยุคเก่าก็จะถูกลืมไปเลย

การที่ท่านมาตอบกับผมก็ช่วยปรับความเข้าใจผมได้เยอะขึ้นหน่ะนะครับ

แล้วก็ไอ้จำนวนหน่วยพวกนี้แหล่ะที่ทำให้คนสับสนได้เช่นว่า Mb กับ MB มันต่างกัน ถ้าไม่ดูให้ดีๆอาจโดนหลอกได้ โดยเฉพาะ ความเร็ว Intermet\

แต่ในที่สุดท่าน arth ก็ได้คำตอบแล้วหล่ะ เหอๆ