Ruby :: Converting between Characters and Values
Posted by PunNeng, Thu Mar 29 02:51:00 UTC 2007
ถ้าอยากจะดู ASCII code ของอักขระแต่ละตัว เราสามารถทำได้โดยใช้ ? วางไว้ข้างหน้าอักขระนั้นๆ เช่น
?a # => 97 ?! # => 33 ?\n # => 10 |
ถ้าจะดูในรูปของ Array ก็จะได้ดังนี้
'a'[0] # => 97 'bad sound'[1] # => 97 |
แต่ในทางกลับกัน เราสามารถเอา ASCII code แปลงกลับเป็นอักขระได้โดยการเรียก #chr method
97.chr # => "a" 33.chr # => "!" 10.chr # => "\n" 0.chr # => "\000" 256.chr # RangeError: 256 out of char range |
ถ้าสมมติว่าเราไม่มองมันเป็น array ตัว string มันก็จะเหมือนกับการเอา Fixnum ตัวนึง มาเรียงต่อๆ กัน แต่ต้องเป็น ASCII code แล้วใช้ String#each_byte loop มันต่อกันจะออกมาเป็นตัวอักษรเอง
แก้ไขล่าสุด วันที่ 6 สิงหาคม 2550 เวลา 22.29 น.