Digital Forensics:(ASCII) คือ
แอสกี้ ASCII: American Standard Code for Information Interchange) เป็นรหัสมาตรฐานของสหรัฐอเมริกาเพื่อการแลกเปลี่ยนสารสนเทศนี้ เป็นรหัสมาตรฐานที่ใช้กับคอมพิวเตอร์รหัสหนึ่ง ที่ใช้เลขฐานสอง รหัสแอสกี, รหัสมาตรฐาน ใช้แทนอักขระด้วย 7 บิต (ถ้ารวม parity check ด้วยจะเป็น 8 บิต)ประวัติ รหัสแอสกีมีใช้ในระบบคอมพิวเตอร์ และเครื่องมือสื่อสารแบบดิจิทัลต่างๆ พัฒนาขึ้นโดยคณะกรรมการ 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) ดังที่ปรากฏตามผังอักขระ (character map) ด้านล่าง รหัสแอสกีได้รับการปรับปรุงล่าสุดเมื่อ ค.ศ. 1986 ให้มีอักขระทั้งหมด 256 ตัว (8 บิต) และเรียกใหม่ว่าแอสกีแบบขยาย อักขระที่เพิ่มมา 128 ตัวใช้สำหรับแสดงอักขระเพิ่มเติมในภาษาของแต่ละท้องถิ่นที่ใช้ โดยจะมีผังอักขระที่แตกต่างกันไปในแต่ละภาษาซึ่งเรียกว่า โคดเพจ (codepage) โดยอักขระ 128 ตัวแรกส่วนใหญ่จะยังคงเหมือนกันแทบทุกโคดเพจ มีส่วนน้อยที่เปลี่ยนแค่บางอักขระ
ASCII TABLE |
ตัวอย่าง รหัสแทนข้อมูลแบบ ASCII
บิตที่
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
| |
0
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
แทน 7
| |
0
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
แทน G
| |
0
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
แทน g
| |
0
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
แทน J
| |
0
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
แทน +
|
จากหลักการของระบบเลขฐานสอง แต่ละบิตสามารแทนค่าได้ 2 แบบ คือ เลข 0 หรือเลข 1 ถ้าเราเขียนเลขฐานสอง เรียงกัน 2 บิต ในการแทนอักขระ เราจะมีรูปแบบในการแทนอักขระได้ 2 หรือ 4 รุปแบบคือ 00 ,01 ,10 ,11 ดังนั้นในการใช้รหัสแอสกีซึ่งมี 8 บิต ในการแทนอักขระแล้ว เราจะมีรูปแบบที่ใช้แทนถึง 28 หรือ 256 รูปแบบ
ซึ่งเมื่อใช้แทนตัวอักษรภาษาอังกฤษแล้ว ยังมีเหลืออยู่
สำนักงานมาตรฐานผลิตภัณฑ์อุตสาหกรรม หรือ
สมอ.จึงได้กำหนดรหัสภาษาไทยเพิ่มลงไปเพื่อให้ใช้งานร่วมกัน
ตัวอย่าง การแทนข้อมูลในเครื่องคอมพิวเตอร์
A
|
0100 0001
|
X
|
0101 1000
|
B
|
0100 0010
|
Y
|
0101 1001
|
C
|
0100 0011
|
Z
|
0101 1010
|
D
|
0100 0100
|
0
|
0011 0000
|
E
|
0100 0101
|
1
|
0011 0001
|
F
|
0100 0110
|
2
|
0011 0010
|
G
|
0100 0111
|
3
|
0011 0011
|
H
|
0100 1000
|
4
|
0011 0100
|
I
|
0100 1001
|
5
|
0011 0101
|
J
|
0100 1010
|
6
|
0011 0110
|
K
|
0100 1011
|
7
|
0011 0111
|
L
|
0100 1100
|
8
|
0011 1000
|
M
|
0100 1101
|
9
|
0011 1001
|
N
|
0100 1110
|
.
|
0010 1110
|
O
|
0100 1111
|
(
|
0010 1000
|
P
|
0101 0000
|
+
|
0010 1011
|
Q
|
0101 0001
|
$
|
0010 0100
|
R
|
0101 0010
|
*
|
0010 1010
|
S
|
0101 0011
|
)
|
0010 1001
|
T
|
0101 0100
|
-
|
0010 1101
|
U
|
0101 0101
|
/
|
0010 1111
|
V
|
0101 0110
|
'
|
0010 1100
|
W
|
0101 0111
|
=
|
0010 1101
|
character set คืออะไร
ก่อนจะไปพูดถึง Character set ขอเล่าถึงที่มาและรูปแบบการเก็บข้อมูลในคอมพิวเตอร์กันซักนิด เราคงทราบกันดีกว่าคอมพิวเตอร์เก็บข้อมูลในรูปแบบดิจิทัลโดยใช้แค่ตัวเลข 0 กับ 1 ตัวเลขหนึ่งตัวเรียกว่า 1 bit ถ้ามีตัวเลขแปดตัว (8 bit) เรียกว่า 1 byteเนื่องจากว่าการรับส่งข้อมูลในคอมพิวเตอร์โดยแท้จริงแล้วเป็นแค่การรับส่งตัวเลข 0 กับ 1 ดังนั้นถ้าจะส่งข้อมูลที่เป็นตัวอักษร ก็จำเป็นต้องมีการสร้างรหัสขึ้นมาเพื่อใช้อ้างอิงว่าตัวเลขชุดนี้แทนตัวอักษรอะไร ซึ่งถ้าหากจะเปรียบเทียบให้เห็นภาพในสิ่งที่คล้ายๆ กันก็ลองเปรียบเทียบกับรหัสมอร์สที่ใช้การเคาะจังหวะสั้นกับยาวเพื่อใช้ในการส่งข้อความ
ASCII เป็นรหัสที่ทางอเมริกากำหนดขึ้นมาเพื่อใช้ในการแลกเปลี่ยนข้อมูล โดยในรหัส ASCII ประกอบด้วยตัวอักษรภาษาอังกฤษ (แบบ Latin) ตัวเลขอารบิค เครื่องหมายวรรคตอน และสัญลักษณ์ต่างๆ โดยมีตารางแอสกี (ASCII table) หรือชุดอักขระแอสกี (ASCII character set) มาใช้ในการอ้างอิงว่ารหัสนี้แทนตัวอักษรอะไร เช่น ตัว A ในภาษาอังกฤษ ถูกแทนด้วย 65 ในเลขฐานสิบ (Decimal) หรือ 41 ในเลขฐานสิบหก (Hexadecimal) เป็นต้น [1] ตัวอย่างตารางแอสกีเป็นดังรูปที่ 1
เนื่องจากอักขระ (Character) ในภาษาอังกฤษ (ตัวเลข+ตัวอักษร+เครื่องหมาย+อักขระพิเศษอื่นๆ) รวมกันแล้วมีประมาณร้อยกว่าตัว จึงสามารถใช้รหัส ASCII แบบ 7 bit ที่สามารถเก็บข้อมูลได้ 128 รูปแบบ (2^7 = 128) มาใช้ในการเก็บตัวอักษรและอักขระพิเศษทั้งหมดได้ในรหัสตั้งแต่ 0 - 127
ASCII code คืออะไร
ASCII TABLE
Dec | Hex | Oct | Char | Description |
---|---|---|---|---|
0 | 0 | 000 | null | |
1 | 1 | 001 | start of heading | |
2 | 2 | 002 | start of text | |
3 | 3 | 003 | end of text | |
4 | 4 | 004 | end of transmission | |
5 | 5 | 005 | enquiry | |
6 | 6 | 006 | acknowledge | |
7 | 7 | 007 | bell | |
8 | 8 | 010 | backspace | |
9 | 9 | 011 | horizontal tab | |
10 | A | 012 | new line | |
11 | B | 013 | vertical tab | |
12 | C | 014 | new page | |
13 | D | 015 | carriage return | |
14 | E | 016 | shift out | |
15 | F | 017 | shift in | |
16 | 10 | 020 | data link escape | |
17 | 11 | 021 | device control 1 | |
18 | 12 | 022 | device control 2 | |
19 | 13 | 023 | device control 3 | |
20 | 14 | 024 | device control 4 | |
21 | 15 | 025 | negative acknowledge | |
22 | 16 | 026 | synchronous idle | |
23 | 17 | 027 | end of trans. block | |
24 | 18 | 030 | cancel | |
25 | 19 | 031 | end of medium | |
26 | 1A | 032 | substitute | |
27 | 1B | 033 | escape | |
28 | 1C | 034 | file separator | |
29 | 1D | 035 | group separator | |
30 | 1E | 036 | record separator | |
31 | 1F | 037 | unit separator | |
32 | 20 | 040 | space | |
33 | 21 | 041 | ! | |
34 | 22 | 042 | " | |
35 | 23 | 043 | # | |
36 | 24 | 044 | $ | |
37 | 25 | 045 | % | |
38 | 26 | 046 | & | |
39 | 27 | 047 | ' | |
40 | 28 | 050 | ( | |
41 | 29 | 051 | ) | |
42 | 2A | 052 | * | |
43 | 2B | 053 | + | |
44 | 2C | 054 | , | |
45 | 2D | 055 | - | |
46 | 2E | 056 | . | |
47 | 2F | 057 | / | |
48 | 30 | 060 | 0 | |
49 | 31 | 061 | 1 | |
50 | 32 | 062 | 2 | |
51 | 33 | 063 | 3 | |
52 | 34 | 064 | 4 | |
53 | 35 | 065 | 5 | |
54 | 36 | 066 | 6 | |
55 | 37 | 067 | 7 | |
56 | 38 | 070 | 8 | |
57 | 39 | 071 | 9 | |
58 | 3A | 072 | : | |
59 | 3B | 073 | ; | |
60 | 3C | 074 | < | |
61 | 3D | 075 | = | |
62 | 3E | 076 | > | |
63 | 3F | 077 | ? |
64 | 40 | 100 | @ | ||
65 | 41 | 101 | A | ||
66 | 42 | 102 | B | ||
67 | 43 | 103 | C | ||
68 | 44 | 104 | D | ||
69 | 45 | 105 | E | ||
70 | 46 | 106 | F | ||
71 | 47 | 107 | G | ||
72 | 48 | 110 | H | ||
73 | 49 | 111 | I | ||
74 | 4A | 112 | J | ||
75 | 4B | 113 | K | ||
76 | 4C | 114 | L | ||
77 | 4D | 115 | M | ||
78 | 4E | 116 | N | ||
79 | 4F | 117 | O | ||
80 | 50 | 120 | P | ||
81 | 51 | 121 | Q | ||
82 | 52 | 122 | R | ||
83 | 53 | 123 | S | ||
84 | 54 | 124 | T | ||
85 | 55 | 125 | U | ||
86 | 56 | 126 | V | ||
87 | 57 | 127 | W | ||
88 | 58 | 130 | X | ||
89 | 59 | 131 | Y | ||
90 | 5A | 132 | Z | ||
91 | 5B | 133 | [ | ||
92 | 5C | 134 | \ | ||
93 | 5D | 135 | ] | ||
94 | 5E | 136 | ^ | ||
95 | 5F | 137 | _ | ||
96 | 60 | 140 | ` | ||
97 | 61 | 141 | a | ||
98 | 62 | 142 | b | ||
99 | 63 | 143 | c | ||
100 | 64 | 144 | d | ||
101 | 65 | 145 | e | ||
102 | 66 | 146 | f | ||
103 | 67 | 147 | g | ||
104 | 68 | 150 | h | ||
105 | 69 | 151 | i | ||
106 | 6A | 152 | j | ||
107 | 6B | 153 | k | ||
108 | 6C | 154 | l | ||
109 | 6D | 155 | m | ||
110 | 6E | 156 | n | ||
111 | 6F | 157 | o | ||
112 | 70 | 160 | p | ||
113 | 71 | 161 | q | ||
114 | 72 | 162 | r | ||
115 | 73 | 163 | s | ||
116 | 74 | 164 | t | ||
117 | 75 | 165 | u | ||
118 | 76 | 166 | v | ||
119 | 77 | 167 | w | ||
120 | 78 | 170 | x | ||
121 | 79 | 171 | y | ||
122 | 7A | 172 | z | ||
123 | 7B | 173 | { | ||
124 | 7C | 174 | | | ||
125 | 7D | 175 | } | ||
126 | 7E | 176 | ~ | ||
127 | 7F | 177 | DEL |
ASCII Encoding:
แปลงค่าจาก
68 105 103 105 116 97 108 32 70 111 114 101 110 115 105 99 115 32 69 120 97 109 105 110 101 114
ให้กลายเป็น String =?
สรุป
ที่มา:
thaicert
devlist
bcom56146
* หากมีข้อมูลข้อผิดพลาดประการใด ขออภัยมา ณ ที่นี้ด้วย รบกวนแจ้ง Admin เพื่อแก้ไขต่อไป
ขอบคุณครับ
#WindowsForensic #ComputerForensics #dfir #forensics #digitalforensics #computerforensic #investigation #cybercrime #fraud