MAIN MENU

Mã ASCII là gì 248

Mã ASCII là gì Bảng mã ASCII chuẩn và đầy đủ – Chọn Khéo

 

Với những bạn học lập trình thì mã ASCII được dùng thường xuyên để các bạn có thể giao tiếp với ngôn ngữ máy tính. Nếu bạn mới bắt đầu tìm hiểu về mã ASCII và bảng mã ASCII thì các bạn hãy cùng tham khảo bài viết dưới đây.

Bảng mã ASCII chuẩn và đầy đủ

Bài viết cung cấp khái niệm mã ASCII và bảng mã ASCII chuẩn và đầy đủ nhất cho các bạn tham khảo và học tập.

Khái niệm mã ASCII.

Mã ASCII viết tắt của American Standard Code for Information Interchange nghĩa tiếng Việt là chuẩn mã trao đổi thông tin Hoa Kỳ là bộ ký tự và bộ mã ký tự dựa trên bảng chữ cái La Tinh. ASCII sử dụng kiểu bit biểu diễn với 7 số nhị phân (thập phân từ 0 đến 127) để biểu diễn thông tin về ký tự.

ASCII thường được đùng để hiển thị văn bản trong máy tính và các thiết bị thông tin khác, nó cũng được dùng bởi các thiết bị điều khiển làm việc với văn bản.

ASCII được công bố lần đầu vào năm 1963 bởi Hiệp hội tiêu chuẩn Hoa Kỳ (American Standards Association, ASA). ASCII được xem là tiêu chuẩn phần mềm thành công nhất từng được công bố từ trước tới nay.

Bảng mã ASCII chuẩn và đầy đủ (ký tự có thể in ra màn hình)

Hệ 2

(Nhị phân)

Hệ 10

(Thập phân)

Hệ 16

(Thập lục phân)

Đồ hoạ

(Hiển thị ra được)

010 0000

32

20

Khoảng trống (␠)

010 0001

33

21

!

010 0010

34

22

010 0011

35

23

#

010 0100

36

24

$

010 0101

37

25

%

010 0110

38

26

&

010 0111

39

27

010 1000

40

28

(

010 1001

41

29

)

010 1010

42

2A

*

010 1011

43

2B

+

010 1100

44

2C

,

010 1101

45

2D

010 1110

46

2E

.

010 1111

47

2F

/

011 0000

48

30

0

011 0001

49

31

1

011 0010

50

32

2

011 0011

51

33

3

011 0100

52

34

4

011 0101

53

35

5

011 0110

54

36

6

011 0111

55

37

7

011 1000

56

38

8

011 1001

57

39

9

011 1010

58

3A

:

011 1011

59

3B

;

011 1100

60

3C

011 1101

61

3D

=

011 1110

62

3E

>

011 1111

63

3F

?

100 0000

64

40

@

100 0001

65

41

A

100 0010

66

42

B

100 0011

67

43

C

100 0100

68

44

D

100 0101

69

45

E

100 0110

70

46

F

100 0111

71

47

G

100 1000

72

48

H

100 1001

73

49

I

100 1010

74

4A

J

100 1011

75

4B

K

100 1100

76

4C

L

100 1101

77

4D

M

100 1110

78

4E

N

100 1111

79

4F

O

101 0000

80

50

P

101 0001

81

51

Q

101 0010

82

52

R

101 0011

83

53

S

101 0100

84

54

T

101 0101

85

55

U

101 0110

86

56

V

101 0111

87

57

W

101 1000

88

58

X

101 1001

89

59

Y

101 1010

90

5A

Z

101 1011

91

5B

[

101 1100

92

5C

101 1101

93

5D

]

101 1110

94

5E

^

101 1111

95

5F

_

110 0000

96

60

`

110 0001

97

61

a

110 0010

98

62

b

110 0011

99

63

c

110 0100

100

64

d

110 0101

101

65

e

110 0110

102

66

f

110 0111

103

67

g

110 1000

104

68

h

110 1001

105

69

i

110 1010

106

6A

j

110 1011

107

6B

k

110 1100

108

6C

l

110 1101

109

6D

m

110 1110

110

6E

n

110 1111

111

6F

o

111 0000

112

70

p

111 0001

113

71

q

111 0010

114

72

r

111 0011

115

73

s

111 0100

116

74

t

111 0101

117

75

u

111 0110

118

76

v

111 0111

119

77

w

111 1000

120

78

x

111 1001

121

79

y

111 1010

122

7A

z

111 1011

123

7B

{

111 1100

124

7C

|

111 1101

125

7D

}

111 1110

126

7E

~

Bảng ký tự điều khiển ASCII

Hệ 2

(Nhị phân)

Hệ 10

(Thập phân)

Hệ 16

(Thập lục phân)

Viết tắt

Biểu diễn

in được

Truy nhập

bàn phím

Tên/Ý nghĩa
tiếng Anh

Tên/Ý nghĩa
tiếng Việt

000 0000

0

00

NUL

^@

Null character

Ký tự rỗng

000 0001

1

01

SOH

^A

Start of Header

Bắt đầu Header

000 0010

2

02

STX

^B

Start of Text

Bắt đầu văn bản

000 0011

3

03

ETX

^C

End of Text

Kết thúc văn bản

000 0100

4

04

EOT

^D

End of Transmission

Kết thúc truyền

000 0101

5

05

ENQ

^E

Enquiry

Truy vấn

000 0110

6

06

ACK

^F

Acknowledgement

Sự công nhận

000 0111

7

07

BEL

^G

Bell

Tiếng kêu

000 1000

8

08

Mã ASCII là gì? Bảng mã ASCII chuẩn theo Wikipedia

 

Mã ASCII được dùng khá thường xuyên khi lập trình để giao tiếp với ngôn ngữ máy, ngay từ ngày học C, C++ đã xuất hiện khái niệm mã ASCII và ứng dụng trong các chương trình kiểm tra ký tự nhập vào là chữ hay số, chữ in hoa hay in thường, … Nhưng trước khi xem danh sách thì ta cần biết mã ASCII là gì đã nhé.

ma-ascii-la-gi-bang-ma-ascii.png

1. Mã ASCII là gì?

Mã ASCII là chư viết tắt của (American Standard Code for Information Interchange). Đây là chuẩn trao đổi thông tin Hoa  Kì gồm các bộ ký tự dựa trên bảng chữ cái latin xây dựng nên. Thông thường nó được sử dụng trong lập trình khá nhiều và đặc biệt là các chương trình liên quan đến điều khiển như ROBOT, … vì các chương trình điều khiển sẽ nhận thông tin thông qua các mã số ASCII này để xử lý.

ASCII được công bố làm tiêu chuẩn vào năm 1963 bởi hiệp hội tiêu chuẩn Hoa Kì và cho tới nay đã có nhiều biến thể khác nhau và phổ biến nhất là ANSI X3.4-1986.

Xem thêm tại đây.

2. Bảng mã ASCII chuẩn hoa kì

Có hai loại  là ký tự điều khiển ASCII và ký tự ASCII in được nhưng trong lập trình thì ta chỉ quan tâm tới ký tự ASCII in được nên mình sẽ show nó ra, còn loại kia bạn vào trang wikipedia để xem nhé.

Hệ 2

(Nhị phân)

Hệ 10

(Thập phân)

Hệ 16

(Thập lục phân)

Đồ hoạ

(Hiển thị ra được)

010 0000 32 20
010 0001 33 21 !
010 0010 34 22
010 0011 35 23 #
010 0100 36 24 $
010 0101 37 25 %
010 0110 38 26 &
010 0111 39 27
010 1000 40 28 (
010 1001 41 29 )
010 1010 42 2A *
010 1011 43 2B +
010 1100 44 2C ,
010 1101 45 2D
010 1110 46 2E .
010 1111 47 2F /
011 0000 48 30 0
011 0001 49 31 1
011 0010 50 32 2
011 0011 51 33 3
011 0100 52 34 4
011 0101 53 35 5
011 0110 54 36 6
011 0111 55 37 7
011 1000 56 38 8
011 1001 57 39 9
011 1010 58 3A :
011 1011 59 3B ;
011 1100 60 3C <
011 1101 61 3D =
011 1110 62 3E >
011 1111 63 3F ?
100 0000 64 40 @
100 0001 65 41 A
100 0010 66 42 B
100 0011 67 43 C
100 0100 68 44 D
100 0101 69 45 E
100 0110 70 46 F
100 0111 71 47 G
100 1000 72 48 H
100 1001 73 49 I
100 1010 74 4A J
100 1011 75 4B K
100 1100 76 4C L
100 1101 77 4D M
100 1110 78 4E N
100 1111 79 4F O
101 0000 80 50 P
101 0001 81 51 Q
101 0010 82 52 R
101 0011 83 53 S
101 0100 84 54 T
101 0101 85 55 U
101 0110 86 56 V
101 0111 87 57 W
101 1000 88 58 X
101 1001 89 59 Y
101 1010 90 5A Z
101 1011 91 5B [
101 1100 92 5C
101 1101 93 5D ]
101 1110 94 5E ^
101 1111 95 5F _
110 0000 96 60 `
110 0001 97 61 a
110 0010 98 62 b
110 0011 99 63 c
110 0100 100 64 d
110 0101 101 65 e
110 0110 102 66 f
110 0111 103 67 g
110 1000 104 68 h
110 1001 105 69 i
110 1010 106 6A j
110 1011 107 6B k
110 1100 108 6C l
110 1101 109 6D m
110 1110 110 6E n
110 1111 111 6F o
111 0000 112 70 p
111 0001 113 71 q
111 0010 114 72 r
111 0011 115 73 s
111 0100 116 74 t
111 0101 117 75 u
111 0110 118 76 v
111 0111 119 77 w
111 1000 120 78 x
111 1001 121 79 y
111 1010 122 7A z
111 1011 123 7B {
111 1100 124 7C |
111 1101 125 7D }
111 1110 126 7E ~

3. Lời kết

Bài này mình sưu tầm với mục đích sử dụng cá nhân nên bạn có thể xem bài này hoặc lên trang gốc wikipedia xem cũng được.

Khóa học nên xem

Nguồn: freetuts.net

Bảng mã ASCII chuẩn

 

ASCII (American Standard Code for Information Interchange – Chuẩn mã trao đổi thông tin Hoa Kỳ), thường được phát âm là át-xơ-ki, là bộ ký tự và bộ mã ký tự dựa trên bảng chữ cái Latinh được dùng trong tiếng Anh hiện đại và các ngôn ngữ Tây Âu khác. Nó thường được dùng để hiển thị văn bản trong máy tính và các thiết bị thông tin khác. Nó cũng được dùng bởi các thiết bị điều khiển làm việc với văn bản. ASCII được công bố làm tiêu chuẩn lần đầu vào năm 1963 bởi Hiệp hội tiêu chuẩn Hoa Kỳ (American Standards Association, ASA), sau này đổi thành ANSI. Có nhiều biến thể của ASCII, hiện tại phổ biến nhất là ANSI X3.4-1986, cũng được tiêu chuẩn hoá bởi Hiệp hội nhà sản xuất máy tính châu Âu (European Computer Manufacturers Association). ASCII được xem là tiêu chuẩn phần mềm thành công nhất từng được công bố từ trước tới nay.

BẢNG MÃ ASCII CHUẨN VÀ ĐẦY ĐỦ NHẤT

Hệ 2

(Nhị phân)

Hệ 10

(Thập phân)

Hệ 16

(Thập lục phân)

Đồ hoạ

(Hiển thị ra được)

010 0000

32

20

Khoảng trống

010 0001

33

21

!

010 0010

34

22

010 0011

35

23

#

010 0100

36

24

$

010 0101

37

25

%

010 0110

38

26

&

010 0111

39

27

010 1000

40

28

(

010 1001

41

29

)

010 1010

42

2A

*

010 1011

43

2B

+

010 1100

44

2C

,

010 1101

45

2D

010 1110

46

2E

.

010 1111

47

2F

/

011 0000

48

30

0

011 0001

49

31

1

011 0010

50

32

2

011 0011

51

33

3

011 0100

52

34

4

011 0101

53

35

5

011 0110

54

36

6

011 0111

55

37

7

011 1000

56

38

8

011 1001

57

39

9

011 1010

58

3A

:

011 1011

59

3B

;

011 1100

60

3C

<

011 1101

61

3D

=

011 1110

62

3E

>

011 1111

63

3F

?

100 0000

64

40

@

100 0001

65

41

A

100 0010

66

42

B

100 0011

67

43

C

100 0100

68

44

D

100 0101

69

45

E

100 0110

70

46

F

100 0111

71

47

G

100 1000

72

48

H

100 1001

73

49

I

100 1010

74

4A

J

100 1011

75

4B

K

100 1100

76

4C

L

100 1101

77

4D

M

100 1110

78

4E

N

100 1111

79

4F

O

101 0000

80

50

P

101 0001

81

51

Q

101 0010

82

52

R

101 0011

83

53

S

101 0100

84

54

T

101 0101

85

55

U

101 0110

86

56

V

101 0111

87

57

W

101 1000

88

58

X

101 1001

89

59

Y

101 1010

90

5A

Z

101 1011

91

5B

[

101 1100

92

5C

101 1101

93

5D

]

101 1110

94

5E

^

101 1111

95

5F

_

110 0000

96

60

`

110 0001

97

61

a

110 0010

98

62

b

110 0011

99

63

c

110 0100

100

64

d

110 0101

101

65

e

110 0110

102

66

f

110 0111

103

67

g

110 1000

104

68

h

110 1001

105

69

i

110 1010

106

6A

j

110 1011

107

6B

k

110 1100

108

6C

l

110 1101

109

6D

m

110 1110

110

6E

n

110 1111

111

6F

o

111 0000

112

70

p

111 0001

113

71

q

111 0010

114

72

r

111 0011

115

73

s

111 0100

116

74

t

111 0101

117

75

u

111 0110

118

76

v

111 0111

119

77

w

111 1000

120

78

x

111 1001

121

79

y

111 1010

122

7A

z

111 1011

123

7B

{

111 1100

124

7C

|

111 1101

125

7D

}

111 1110

126

7E

~

Bảng mã ascii

Cảm ơn các bạn đã theo dõi bài viết!

Sự khác biệt giữa ASCII và EBCDIC

 

Các Sự khác biệt chính giữa ASCII và EBCDIC là ASCII sử dụng bảy bit để thể hiện một ký tự trong khi EBCDIC sử dụng tám bit để thể hiện một ký tự.

Nó dễ dàng hơn cho máy tính để xử lý số. Nhưng đó là một quá trình khó khăn để xử lý văn bản. Do đó, các ký tự được mã hóa. Có nhiều tiêu chuẩn mã hóa ký tự khác nhau và ASCII và EBCDIC là hai trong số đó. Chúng giúp thể hiện kiểm tra trong máy tính, thiết bị viễn thông và các thiết bị điện tử khác. ASCII đại diện cho 128 ký tự. ASCII tương thích với các bảng mã hiện đại và hiệu quả hơn. Mặt khác, EBCDIC chủ yếu được sử dụng cho các hệ thống dựa trên IBM. Nó đại diện cho 256 ký tự.

Các khu vực chính được bảo hiểm

1. ASCII là gì
– Định nghĩa, chức năng
2. EBCDIC là gì
– Định nghĩa, chức năng
3. Sự khác biệt giữa ASCII và EBCDIC
– So sánh sự khác biệt chính

Điều khoản quan trọng

ASCII, EBCDIC

 

 

ASCII là gì

ASCII là viết tắt của Mã tiêu chuẩn Mỹ để trao đổi thông tin. Nó là một tiêu chuẩn mã hóa đại diện cho chữ số, chữ cái và ký hiệu sử dụng số. Các chữ số có thể là 1, 2, 3, v.v. trong khi các chữ cái là a, b, c, A, B, C, v.v … Các ký hiệu là các ký tự như !, $ Và #. Do đó, có thể chuyển đổi bất kỳ đoạn văn bản nào thành tập hợp số tương ứng bằng ASCII. Chuyển đổi này giúp lưu trữ chúng trong bộ nhớ máy tính dễ dàng hơn.

Hình 1: Bảng ASCII

Giá trị ASCII tương ứng của ký tự ‘B, là 66. Giá trị ASCII của‘ b, là 98. Bảng ASCII chứa các giá trị ASCII cho tất cả các chữ số, chữ cái và ký hiệu tương ứng. ASCII sử dụng 7 bit để thể hiện một ký tự. Nó đại diện cho tối đa 128 (27) nhân vật.

ASCII chủ yếu được sử dụng trong lập trình, chuyển đổi dữ liệu, nghệ thuật đồ họa và tệp văn bản. Tuy nhiên, một vấn đề trong ASCII là nó chỉ có thể đại diện cho 128 ký tự. Nó không có đại diện cho các chữ cái trong các ngôn ngữ khác như tiếng Hy Lạp và tiếng Ả Rập hoặc ký hiệu toán học. Có một phiên bản mới của ASCII được gọi là Extended ASCII. Nó bao gồm các ký tự ASCII tiêu chuẩn với các ký tự bổ sung.

EBCDIC là gì

EBCDIC là viết tắt của Mã Interchange thập phân mã nhị phân mở rộng. Nó chủ yếu được sử dụng trên máy tính lớn của IBM và hệ điều hành máy tính tầm trung của IBM. Nó cũng được hỗ trợ bởi một số nền tảng khác ngoài IBM. EBCDIC sử dụng 8 bit để thể hiện một ký tự và nó đại diện cho 256 (28) chữ và số ký tự đặc biệt.

Hình 2: EBCDIC chủ yếu được sử dụng trên máy tính lớn của IBM

Có một số nhược điểm đối với EBCDIC. Khi so sánh với ASCII, cùng một ký tự lấy 7 bit để thể hiện trong ASCII sẽ lấy 8 bit trong EBCDIC. Do đó, EBCDIC kém hiệu quả hơn ASCII. Hơn nữa, khi xem xét việc sắp xếp các ký tự, EBCDIC nhóm 9 ký tự cùng một lúc. Hơn nữa, nó không tương thích với các bảng mã khác như Unicode.

Sự khác biệt giữa ASCII và EBCDIC

Định nghĩa

ASCII là một tiêu chuẩn mã hóa ký tự cho giao tiếp điện tử. EBCDIC là một mã hóa ký tự tám bit được sử dụng chủ yếu trên các máy tính lớn của IBM và các hệ điều hành máy tính tầm trung của IBM.

Viết tắt của

ASCII là viết tắt của Mã tiêu chuẩn Mỹ để trao đổi thông tin. EBCDIC là viết tắt của Mã trao đổi thập phân nhị phân mã hóa mở rộng.

Số bit đại diện cho một ký tự

Hơn nữa, ASCII sử dụng 7 bit để thể hiện một ký tự. EBCDIC sử dụng 8 bit để thể hiện một ký tự.

Số lượng nhân vật

Ngoài ra, ASCII đại diện cho 128 (27) ký tự trong khi EBCDIC đại diện cho 256 (28) nhân vật.

Hiệu quả

Hơn nữa, cùng một ký tự trong ASCII yêu cầu 7 bit, nhưng EBCDIC yêu cầu 8 bit. Do đó, ASCII hiệu quả hơn EBCDIC.

Thứ tự nhân vật

Bên cạnh đó, ASCII sắp xếp các ký tự theo thứ tự liên tiếp. EBCDIC nhóm 9 ký tự một lần.

Khả năng tương thích

Ngoài ra, ASCII tương thích với các bảng mã hiện đại như Unicode. Có thể mở tệp ASCII bằng Unicode. Mặt khác, EBCDIC không tương thích với các bảng mã hiện đại như Unicode.

Phần kết luận

ASCII và EBCDIC là hai tiêu chuẩn mã hóa ký tự. Sự khác biệt chính giữa ASCII và EBCDIC là ASCII sử dụng bảy bit để thể hiện một ký tự trong khi EBCDIC sử dụng tám bit để thể hiện một ký tự.

Tài liệu tham khảo:

1. ASC ASCII. Wikipedia Wikipedia, Wikimedia Foundation, 12 tháng 8 năm 2018,

Mã ASCII là gì? Tìm hiểu về ASCII và bảng mã đầy đủ

 

Với những ai thường xuyên tìm hiểu về ngôn ngữ liên quan đến lập trình thì mã ASCII đã trở nên quá quen thuộc. Trên thực tế, loại mã này được áp dụng trong rất nhiều lĩnh vực thực tế của cuộc sống. Nếu bạn chưa biết về mã ASCII hoặc muốn tìm hiểu cụ thể về bảng mã đầy đủ, bài viết dưới đây sẽ giải đáp cho bạn mọi thắc mắc liên quan.

 width=

Tìm hiểu về mã ASCII

Mã ASCII là gì?

ASCII viết tắt cho cụm từ American Standard Code for Information Interchange, có nghĩa là bộ mã theo tiêu chuẩn Mỹ dùng để trao đổi thông tin. Đúng như tên gọi, ASCII là một tiêu chuẩn mã hóa ký tự trong giao tiếp điện tử. Các ứng dụng phổ biến nhất của ASCII là trong việc hiển thị văn bản máy tính và hầu hết các thiết bị đầu cuối khác trong truyền thông.

Hầu hết mọi lược đồ mã hóa ký tự đều dựa trên nền tảng ASCII. Cũng chính vì lý do này, bảng mã ASCII trong C++, bảng mã ASCII trong Pascal lại đóng vai trò cực kỳ quan trọng.

 width=

Sử dụng mã ASCII

ASCII có tiền thân là mã điện báo. Loại mã này được đưa vào tiêu thụ thương mại lần đầu tiên thông qua một mã code của máy điện báo phát triển bởi dịch vụ dữ liệu Bell. Các hoạt động liên quan đến ASCII bắt đầu vào năm 1960 và phiên bản đầu tiên về tiêu chuẩn này được công bố vào năm 1963. Bốn năm sau đó, vào 1967, bộ mã trải qua lần sửa đổi lớn và được cập nhật thêm một lần nữa vào năm 1968.

 width=

Trong giai đoạn tiếp theo, mã ASCII được ứng dụng phổ biến trên toàn thế giới. Có  nhiều phiên bản khác nhau đã ra đời để cập nhật và bổ sung cho bảng tiêu chuẩn sẵn có. Thậm chí, hoàn toàn có thể khẳng định ASCII là bảng mã hóa ký tự phổ biến nhất World Wide Web – mạng lưới toàn cầu. Tuy nhiên, từ khi  UTF-8 ra đời vào năm 2007, vị trí này bắt đầu có dấu hiệu lung lay và ASCII đối mặt với sự cạnh tranh gay gắt hơn.

 width=

Hiện nay phiên bản ANSI X3.4-1986 được Hiệp hội nhà sản xuất máy tính Châu Âu chuẩn hóa là phiên bản vẫn đang được sử dụng phổ biến. Nhìn chung ASCII có thể được xem là tiêu chuẩn mã hóa thành công nhất trong lịch sử ngành công nghệ từ trước đến giờ.

 width=

Những thông tin căn bản về mã ASCII

Bảng mã được xây dựng một phần dựa trên bảng chữ tiếng Anh với 128 ký tự được chuyển thành những dãy bit. Trong đó, 95 ký tự mã hóa có thể được in ra qua máy in hoặc hiển thị bao gồm chữ số 0 đến 9, chữ thường từ a đến z và chữ in hoa từ A đến Z cùng các loại dấu câu cơ bản. Phần còn lại là những mã điều khiển, không hiển thị chữ được sử dụng để thực hiện các lệnh liên quan đến thể hiện đoạn ký tự.

Bảng mã ASCII mở rộng có tất cả 256 ký tự bao gồm 128 ký tự thuộc bảng mã tiêu chuẩn. Các ký tự còn lại liên quan đến phép toán, các loại chữ có dấu và những loại ký tự trang trí

Bảng ký tự điều khiển ASCII

Hệ 2
(Nhị phân)
Hệ 10
(Thập phân)
Hệ 16
(Thập lục phân)
Viết tắt In được Truy nhập
bàn phím
Nghĩa tiếng Anh Nghĩa tiếng Việt
000 0000 0 00 NUL ^@ Null character Ký tự rỗng
000 0001 1 01 SOH ^A Start of Header Bắt đầu Header
000 0010 2 02 STX ^B Start of Text Bắt đầu văn bản
000 0011 3 03 ETX ^C End of Text Kết thúc văn bản
000 0100 4 04 EOT ^D End of Transmission Kết thúc truyền
000 0101 5 05 ENQ ^E Enquiry Truy vấn
000 0110 6 06 ACK ^F Acknowledgement Sự công nhận
000 0111 7 07 BEL ^G Bell Tiếng kêu
000 1000 8 08 BS ^H Backspace Xoá ngược
000 1001 9 09 HT ^I Horizontal Tab Thẻ ngang
000 1010 10 0A LF ^J New Line Dòng mới
000 1011 11 0B VT ^K Vertical Tab Thẻ dọc
000 1100 12 0C FF ^L Form feed Cấp giấy
000 1101 13 0D CR ^M Carriage return Chuyển dòng/ Xuống dòng
000 1110 14 0E SO ^N Shift Out Ngoài mã
000 1111 15 0F SI ^O Shift In Mã hóa/Trong mã
001 0000 16 10 DLE ^P Data Link Escape Thoát liên kết dữ liệu
001 0001 17 11 DC1 ^Q Device Control 1 — oft. XON
001 0010 18 12 DC2 ^R Device Control 2
001 0011 19 13 DC3 ^S Device Control 3 — oft. XOFF
001 0100 20 14 DC4 ^T Device Control 4
001 0101 21 15 NAK ^U Negative Acknowledgement
001 0110 22 16 SYN ^V Synchronous Idle
001 0111 23 17 ETB ^W End of Trans. Block
001 1000 24 18 CAN ^X Cancel
001 1001 25 19 EM ^Y End of Medium
001 1010 26 1A SUB ^Z Substitute
001 1011 27 1B ESC ^[ hay ESC Escape
001 1100 28 1C FS ^ File Separator
001 1101 29 1D GS ^] Group Separator Nhóm Separator
001 1110 30 1E RS ^^ Record Separator
001 1111 31 1F US ^_ Unit Separator
111 1111 127 7F DEL DEL Delete Xóa

Bảng mã ASCII in được

Hệ 2
(Nhị phân)
Hệ 10
(Thập phân)
Hệ 16
(Thập lục phân)
Đồ hoạ
(Hiển thị ra được)
010 0000 32 20 Khoảng trống (␠)
010 0001 33 21 !
010 0010 34 22
010 0011 35 23 #
010 0100 36 24 $
010 0101 37 25 %
010 0110 38 26 &
010 0111 39 27
010 1000 40 28 (
010 1001 41 29 )
010 1010 42 2A *
010 1011 43 2B +
010 1100 44 2C ,
010 1101 45 2D
010 1110 46 2E .
010 1111 47 2F /
011 0000 48 30 0
011 0001 49 31 1
011 0010 50 32 2
011 0011 51 33 3
011 0100 52 34 4
011 0101 53 35 5
011 0110 54 36 6
011 0111 55 37 7
011 1000 56 38 8
011 1001 57 39 9
011 1010 58 3A :
011 1011 59 3B ;
011 1100 60 3C <
011 1101 61 3D =
011 1110 62 3E >
011 1111 63 3F ?
100 0000 64 40 @
100 0001 65 41 A
100 0010 66 42 B
100 0011 67 43 C
100 0100 68 44 D
100 0101 69 45 E

=> Tải nhạc chất lượng cao tại đây

Bảng mã ký tự ASCII và mã phím của bàn phím

 

 

posted 30 Jul 2017, 21:13 by NGOC TUONG NGUYEN


[

updated 31 Jul 2017, 01:30
]

Đây là bảng mã rất cần thiết cho lập trình viên, bạn không nên bỏ qua. Bạn có thể sử dụng bảng mã này để lập trình như khóa phím hay nút chức năng nào đó, cho tự động gõ phím hay tổ hợp phím và một số chức năng khác theo nhu cầu sử dụng của bạn. Dưới đây là các bảng mã ký tự ASCII mà bạn cần:


phím
Mã ascii
Phím Phím Phím Phím Phím Phím
Backspace 8 C 67 9 (keypad) 105 Space 32 @ 64 ` 96
Tab 9 D 68 * (keypad) 106 ! 33 A 65 a 97
Clear 12 E 69 + (keypad) 107 34 B 66 b 98
Enter 13 F 70 Enter (keypad) 108 # 35 C 67 c 99
Shift 16 G 71 – (keypad) 109 $ 36 D 68 d 100
Ctrl 17 H 72 . (keypad) 110 % 37 E 69 e 101
Alt 18 I 73 / (keypad) 111 & 38 F 70 f 102
Caps lock 20 J 74 F1 112 39 G 71 g 103
Esc 27 K 75 F2 113 ( 40 H 72 h 104
Space bar 32 L 76 F3 114 ) 41 I 73 i 105
Page up 33 M 77 F4 115 * 42 J 74 j 106
Page down 34 N 78 F5 116 + 43 K 75 k 107
End 35 O 79 F6 117 , 44 L 76 l 108
Home 36 P 80 F7 118 45 M 77 m 109
Left arrow 37 Q 81 F8 119 . 46 N 78 n 110
Up arrow 38 R 82 F9 120 / 47 O 79 o 111
Right arrow 39 S 83 F10 121 0 48 P 80 p 112
Down arrow 40 T 84 F11 122 1 49 Q 81 q 113
Insert 45 U 85 F12 123 2 50 R 82 r 114
Delete 46 V 86 F13 124

Một số khái niệm trong character encoding

 

Máy tính chỉ làm việc với các bit 0 và 1 (hay chính xác hơn là các trạng thái ON/OFF của transitor trong bo mạch), lưu dữ liệu lên bộ nhớ, đọc dữ liệu, truyền dữ liệu, tất cả đều thao tác với các bit 0 1.

Để có thể lưu trữ được dữ liệu lên bộ nhớ, cần một phương pháp để chuyển từ các chữ cái, ký tự,… sang bit 0 1, phương pháp được nhắc tới đó được gọi là encode, và việc mã hóa một ký tự sang các bit được gọi là character encoding.

character encoding là việc mapping từ chữ cái, chữ số, ký hiệu,…(character) sang mã binary (byte code).

Việc mapping này được nhiên cần tới 2 tập hợp để thực hiện, tập các characters (tập A) và tập các byte codes (tập B):

A ⇒ B

Tập characters A

Ví dụ bảng mã ASCII có 128 ký tự (tập A gồm 128 phần tử) thì phải mô tả 128 ký tự này trên máy tính để thực hiện việc mapping.

Lúc này 128 ký tự này sẽ được đánh số thứ tự từ 0 -> 127 để phân biệt. Để lưu trữ số thứ tự từ 0 -> 127 này lên máy tính ta phải lưu trữ dưới dạng binary của máy tính là 0x00 -> 0x7F (lưu ý là chúng ta chưa bàn tới tập B).

Code points

Code points chính là đơn vị của mỗi phần tử trong tập A.

Tập A ở trên có 128 phần tử tương đương với 128 code points.

Tập byte codes B

Là tập hợp được chuẩn hóa từ tập A nói ở trên. Tập A nói ở trên được đánh dấu trong bộ nhớ từ 0x00 -> 0x7F nhưng tập B này được đánh giá trị sẽ có thể khác về giá trị và về dung lượng byte cho mỗi ký tự. Việc khác thế nào là tùy thuộc vào loại loại encoding (UTF8, UTF16,…)

Các khái niệm về UTF8, UTF16, Unicode và cách mã hóa xem ở bài viết này.

Ở ví dụ trên ta giả sự tập A là ASCII thì sẽ có 128 ký tự, ngoài ra còn nhiều bảng mã khác như Unicode là tập hợp tất cả những ký tự và chữ cái trên thế giới.

Unicode

Tính đến thời điểm 6/2018, Unicode 11.0 có tổng cộng 137.439 ký tự, nhưng không gian chứa của Unicode có thể lên tới khoảng 1.114.112 ký tự được biểu diễn từ 000000 -> 10FFFF (mã hex).

(000000 → 10FFFF)hex

:

  • (00 → 10)hex =

    (0000 0000 → 00001 0000)bin  =

    (0 → 16)dec           (17 số biểu diễn)

 

  • (0000 → FFFF)hex =

    (0000 0000 0000 0000 → 1111 1111 1111 1111)hex=

    (0 → 65535)dec            (65.536 số biểu diễn)

=> Unicode có không gian chứa là

17×216 = 17×65.536 = 1.114.112

code points, Unicode được chia ra làm 17 planes.

Plane thứ nhất là plane cơ bản tập hợp các code points biểu diễn được hầu hết các ngôn ngữ hiện đại trên thế giới và các ký hiệu trên thế giới, plane này được ký hiệu là BMP (Basic Multilingual Plane).

Khi bạn mở một file và thấy dữ liệu hiển thị không đúng do chọn sai loại encode để giải mã, bạn chỉ cần chọn lại loại encode cho đúng là được, dữ liệu đang được lưu trữ trên bộ nhớ dưới dạng byte không hề bị thay đổi trừ khi bạn save lại.

Các quy tắc đọc mã ASCII cho lập trình viên

 

Bài viết được dịch từ blog Coding Horror

Là lập trình viên, chúng ta phải thường xuyên làm việc với rất nhiều ký tự bàn phím mà người bình thường hiếm khi phải dùng đến và họ không phải suy nghĩ nhiều về chúng:

$ # % {} * [] ~ &

Ngay cả những ký tự được sử dụng khá thường xuyên trong văn bản hàng ngày — như dấu gạch ngang, dấu ngoặc, dấu chấm, và dấu hỏi — có ý nghĩa hoàn toàn khác nhau trong các ngôn ngữ lập trình.

 srcset=Đâu là quy tắc phát âm các ký tự ASCII cho lập trình viên?


Tất cả điều này đều tốt đẹp, nhưng cuối cùng bạn sẽ phải đọc lên những ký tự này cho một lập trình viên khác vì một lý do nào đó. Và sau đó bạn sẽ rơi vào một tình huống thực sự khó xử.

Làm thế nào để bạn phát âm các ký tự ASCII ít quen thuộc này?

Tất cả chúng ta đều làm điều đó, nhưng không nhất thiết phải suy nghĩ nhiều về những từ mà mình lựa chọn. Tôi chắc chắn đã không nghĩ nhiều về việc này cho đến ngày hôm qua, khi tôi đọc dòng comment sau đây dưới bài viết Exploring Finder Wide:

Một người bạn đã gửi cho tôi một đoạn code Java, trong đó anh ta viết một vòng lặp để in ra dòng chữ “Cảm ơn!” một triệu lần (nhằm cảm ơn một vị giáo sư vì ông đã gia hạn thời gian deadline nộp luận văn cho anh ta). Tôi đã đáp lại bằng một dòng code duy nhất bằng Ruby thực hiện cùng chức năng, và một dòng duy nhất bằng ngôn ngữ Lisp.

Anh ta viết lại cho tôi rằng: “Underscores, pipes, octothorpes, curly braces — sheesh… Tôi sẽ có được cách viết ít rườm rà hơn, nhưng đồng nghĩa phải viết những dòng code trông giống như nó được nén lại vậy!”

Nhưng một octothorpe là cái quái gì vậy?

Tôi thường ngạc nhiên khi nghe các lập trình viên khác đọc tên những ký tự ASCII. Không phải là những từ mà cá nhân tôi sử dụng để gọi các ký tự ASCII là chính xác hơn, mà thực tế có nhiều biến thể về cách gọi hơn một lập trình viên có thể nghĩ.

Có lẽ đó là lý do tại sao tôi rất vui mừng khi phát hiện mục ASCII trong The New Hacker’s Dictonary, cái mà Phil Glockner đã giới thiệu. Đó là một thư mục khá đầy đủ các tên thông thường, tên hiếm gặp, và đôi khi hết sức kỳ lạ mà các lập trình viên gọi các ký tự ASCII rải khắp trên các dòng code của họ.

Có bao nhiêu cách phát âm ký tự ASCII trong số này mà bạn nhận ra? Những cái nào là “chính xác” như cách bạn đang gọi?

Tên phổ biến Tên hiếm gặp
! exclamation mark
bang
pling
excl
not
shriek
factorial
exclam
smash
cuss
boing
yell
wow
hey
wham
eureka
spark-spot
soldier
control
quotation marks
quote
double quote
literal mark
double-glitch
dieresis
dirk
rabbit-ears
double prime
#
hash
pound sign
number sign
pound
sharp
crunch
hex
mesh
grid
crosshatch
octothorpe
flash
square
pig-pen
tictactoe
scratchmark
thud
thump
splat
$ dollar sign
dollar
currency symbol
buck
cash
string
escape
ding
cache
big money
% percent sign
mod
grapes
double-oh-seven
& ampersand
amp
amper
and
and sign
address
reference
andpersand
bitand
background
pretzel
apostrophe
single quote
quote
prime
glitch
tick
irk
pop
spark
closing single quotation mark
acute accent
( ) opening / closing parenthesis
left / right paren
left / right parenthesis
left / right
open / close
open / close paren
paren / thesis
so/already
lparen/rparen
opening/closing parenthesis
opening/closing round bracket
left/right round bracket
wax/wane
parenthisey/unparenthisey
left/right ear
[ ] opening / closing bracket
left / right bracket
left / right square bracket
bracket / unbracket
square / unsquare
u turn / u turn back
{ } opening / closing brace
open / close brace
left / right brace
left / right squiggly
left / right squiggly bracket/brace
left / right curly bracket/brace
brace / unbrace
curly / uncurly
leftit / rytit
left / right squirrelly
embrace / bracelet
< > less / greater than
bra / ket
left / right angle
left / right angle bracket
left / right broket
from / into (or towards)
read from / write to
suck / blow
comes-from / gozinta
in / out
crunch / zap
tic / tac
angle / right angle
* asterisk
star
splat
+ plus
add
cross
intersection
, comma cedilla
tail
dash
hyphen
minus
worm
option
dak
bithorpe
. period
dot
point
decimal point
radix point
full stop
spot
/ slash
stroke
slant
forward slash
diagonal
solidus
over
slak
virgule
slat
backslash
hack
whack
escape
reverse slash
slosh
backslant
backwhack
bash
reverse slant
reversed virgule
backslat
: colon dots
two-spot
; semicolon
semi
weenie
hybrid
pit-thwong
= equals
gets
takes
quadrathorpe
half-mesh
? question mark
query
ques
quiz
whatmark
what
wildchar
huh
hook
buttonhook
hunchback
@ at sign
at
strudel
each
vortex
whorl
whirlpool
cyclone
snail
ape
cat
rose
cabbage
commercial at
^ circumflex
caret
hat
control
uparrow
xor sign
chevron
shark (or shark-fin)
to the
fang
pointer
_ underline
underscore
underbar
under
score
backarrow
skid
flatworm
` grave accent
backquote
left quote
left single quote
open quote
grave
backprime
backspark
unapostrophe
birk
blugle
back tick
back glitch
push
opening single quote
quasiquote
| bar
or
or-bar
v-bar
pipe
vertical bar
vertical line
gozinta
thru
pipesinta
spike
~ tilde
squiggle
twiddle
not
approx
wiggle
swung dash
enyay
sqiggle (sic)

Nếu bạn tò mò về nguồn gốc của một số tên khá kỳ quặc ở trên, thì hãy tham khảo bộ đầy đủ các chú thích tại phần hướng dẫn phát âm ở trang web ascii-table.com.

Vì vậy, nếu lần sau mà có một tay lập trình viên tiến tới trước mặt bạn và nói, “oh, it’s easy! Just type wax bang at hash buck grapes circumflex and splat wane”, thì bạn sẽ biết ý của anh ta là gì nhé.

Có lẽ như vậy.

Các bài viết liên quan:

Về tác giả bài viết:

Jeff_atwood_coding_horrorJeff Atwood là một chuyên gia công nghệ tại Mỹ, hiện đang sinh sống và làm việc tại Berkeley, CA. Anh là một kỹ sư phần mềm chuyên về công nghệ Microsoft .NET, và là một blogger nổi tiếng trong cộng đồng công nghệ với blog Coding Horror, anh là người sáng lập và kiêm Giám đốc điều hành (CEO) của trang web hỏi đáp uy tín Stack Overflow và cũng là đồng sáng lập của Stack Exchange và Discourse.

Like this:

Số lượt thích Đang tải…

 

Liên quan

Leave your Comment

X