ASCII码表及转换方法

理解ASCII码与字符转换
本文深入探讨了ASCII码的基本概念及其与字符之间的转换过程,包括控制字符与常见字符的ASCII值对应,以及如何通过Java代码实现ASCII码到字符及字符到ASCII码的转换。

ASCII

控制字符

ASCII

控制字符

ASCII

控制字符

ASCII

控制字符

0

NUT

32

(space)

64

@

96

1

SOH

33

65

A

97

a

2

STX

34

66

B

98

b

3

ETX

35

#

67

C

99

c

4

EOT

36

$

68

D

100

d

5

ENQ

37

%

69

E

101

e

6

ACK

38

&

70

F

102

f

7

BEL

39

,

71

G

103

g

8

BS

40

(

72

H

104

h

9

HT

41

)

73

I

105

i

10

LF

42

*

74

J

106

j

11

VT

43

+

75

K

107

k

12

FF

44

,

76

L

108

l

13

CR

45

-

77

M

109

m

14

SO

46

.

78

N

110

n

15

SI

47

/

79

O

111

o

16

DLE

48

0

80

P

112

p

17

DCI

49

1

81

Q

113

q

18

DC2

50

2

82

R

114

r

19

DC3

51

3

83

X

115

s

20

DC4

52

4

84

T

116

t

21

NAK

53

5

85

U

117

u

22

SYN

54

6

86

V

118

v

23

TB

55

7

87

W

119

w

24

CAN

56

8

88

X

120

x

25

EM

57

9

89

Y

121

y

26

SUB

58

:

90

Z

122

z

27

ESC

59

;

91

[

123

{

28

FS

60

<

92

/

124

|

29

GS

61

=

93

]

125

}

30

RS

62

>

94

^

126

~

31

US

63

?

95

127

DEL

 1、

public class Test_Ascii {
 public static void main(String[] args) {
  //ASCII码转换为字符
  char a = 97;
  System.out.println(a);
  //字符转换为ASCII码
  String s = "asdfdfdfdsfafdgsdfasf123435";
  char[] cs = s.toCharArray();
  for (int i : cs)
   System.out.println(i);
 }
}

 

2、

byte[] descbyte = "abcd".getBytes();

for(int i=0;i<descbyte.length();i++){

    System.out.print(descbyte[i]);//输出979899100

    System.out.print((char) descbyte[i]);//输出abcd

}

 

ASCII码表是计算机科学中常用的基础知识之一,用于将字映射到对应的数字编码。每个字(如字母、数字、号等)都有一个唯一的ASCII值。 ### ASCII码表转换方法 1. **字ASCII码** 在C语言中,可以使用类型转换将字转换为对应的ASCII码值。例如: ```c char c = 'A'; int ascii_value = (int)c; // 将字 'A' 转换为对应的ASCII码值 65 ``` 这种方式通过将字变量强制转换为整数类型来获取其ASCII码值。 2. **ASCII码转字** 如果已知某个字ASCII码值,可以通过类型转换将其转换回字。例如: ```c int ascii_value = 65; char c = (char)ascii_value; // 将ASCII码值 65 转换为字 'A' ``` 3. **字串转ASCII码序列** 对于字串,可以通过遍历每个字并逐个转换为其对应的ASCII码值。例如: ```c #include <stdio.h> void string_to_ascii(const char *str) { while (*str) { printf("Character: %c, ASCII: %d\n", *str, (int)*str); str++; } } int main() { const char *str = "Hello"; string_to_ascii(str); return 0; } ``` 上述代码会输出字串 `"Hello"` 中每个字及其对应的ASCII码值。 4. **ASCII码序列转字串** 如果有一个包含ASCII码值的整数数组,可以通过遍历数组并将每个值转换为字来构建字串。例如: ```c #include <stdio.h> void ascii_to_string(const int *ascii_values, int length) { for (int i = 0; i < length; i++) { printf("%c", (char)ascii_values[i]); } printf("\n"); } int main() { int ascii_values[] = {72, 101, 108, 108, 111}; // ASCII码值对应 "Hello" int length = sizeof(ascii_values) / sizeof(ascii_values[0]); ascii_to_string(ascii_values, length); return 0; } ``` ### ASCII码对照表(部分) 以下是常见的ASCII码对照表,列出了一些常用的字及其对应的ASCII码值: | 字 | ASCII码值 | 字 | ASCII码值 | |------|------------|------|------------| | NUL | 0 | @ | 64 | | SOH | 1 | A | 65 | | STX | 2 | B | 66 | | ETX | 3 | C | 67 | | EOT | 4 | D | 68 | | ENQ | 5 | E | 69 | | ACK | 6 | F | 70 | | BEL | 7 | G | 71 | | BS | 8 | H | 72 | | HT | 9 | I | 73 | | LF | 10 | J | 74 | | VT | 11 | K | 75 | | FF | 12 | L | 76 | | CR | 13 | M | 77 | | SO | 14 | N | 78 | | SI | 15 | O | 79 | | DLE | 16 | P | 80 | | DC1 | 17 | Q | 81 | | DC2 | 18 | R | 82 | | DC3 | 19 | S | 83 | | DC4 | 20 | T | 84 | | NAK | 21 | U | 85 | | SYN | 22 | V | 86 | | ETB | 23 | W | 87 | | CAN | 24 | X | 88 | | EM | 25 | Y | 89 | | SUB | 26 | Z | 90 | | ESC | 27 | [ | 91 | | FS | 28 | \ | 92 | | GS | 29 | ] | 93 | | RS | 30 | ^ | 94 | | US | 31 | _ | 95 | | SP | 32 | ` | 96 | | ! | 33 | a | 97 | | " | 34 | b | 98 | | # | 35 | c | 99 | | $ | 36 | d | 100 | | % | 37 | e | 101 | | & | 38 | f | 102 | | ' | 39 | g | 103 | | ( | 40 | h | 104 | | ) | 41 | i | 105 | | * | 42 | j | 106 | | + | 43 | k | 107 | | , | 44 | l | 108 | | - | 45 | m | 109 | | . | 46 | n | 110 | | / | 47 | o | 111 | | 0 | 48 | p | 112 | | 1 | 49 | q | 113 | | 2 | 50 | r | 114 | | 3 | 51 | s | 115 | | 4 | 52 | t | 116 | | 5 | 53 | u | 117 | | 6 | 54 | v | 118 | | 7 | 55 | w | 119 | | 8 | 56 | x | 120 | | 9 | 57 | y | 121 | | : | 58 | z | 122 | | ; | 59 | { | 123 | | < | 60 | | | 124 | | = | 61 | } | 125 | | > | 62 | ~ | 126 | | ? | 63 | DEL | 127 | ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值