linux下ascii码的值和Windows下不一样?
情况是这样:
我在Windows下用串口调试助手和linux开发板进行通信测试,发现一个很诡异的事情。
在ascii码表中,我查得‘a’的值0x61,那么我在调试助手里面输入61,以hex发送。结果我在xshell里面远程看到开发板接收到的并不是‘a’。反复尝试,我发现发送0x3d,开发板接收显示的才是‘a’。
然后再试了其他值,得出了下面的规律:
hex 符号
0B z
0D y
0F x
11 w
13 v
15 u
17 t
19 s
1B r
1D q
1F p
21 o
23 n
25 m
27 l
29 k
2B j
2D i
2F h
31 g
33 f
35 e
37 d
39 c
3B b
3D a
3F `
41 _
43 ^
45 ]
47 \
49 [
4B Z
4D Y
4F X
51 W
53 V
55 U
57 T
59 S
5B R
5D Q
5F P
61 O
63 N
65 M
67 L
69 K
6B J
6D I
6F H
71 G
73 F
75 E
77 D
79 C
7B B
7D A
7F @
81 ?
83 >
85 =
87 <
89 ;
8B :
8D 9
8F 8
91 7
93 6
95 5
97 4
99 3
9B 2
9D 1
9F 0
我只有按照上面的规则发送对应的hex,开发板才能收到我想要的字符。反过来,从开发板往调试助手发送,要按正确的ascii表来进行,而不是按上面的规则。
这里面是不是有什么转换规则啊? 求大神指教