如何使用GSM3.38 移动电话标准对 SMS 短消息进行编码?

n

描述
如果使用 S7 CPU通过蜂窝式无线电话系统发送 SMS 短消息,必须遵守以下 SMS 消息的编码说明。n

S7 CPU 使用 ASCII 字符,而大多数蜂窝式无线电话系统供货商使用GSM 3.38 消息文本标准,两者在规范上存在着不同,这意味着 ASCII 和 GSM 3.38 的编码会有不同。n

由于 S7 CPU 传输字节数据时并不会进行转换,因此当在 Step7 中输入一个字符串发送时可能会导致 SMS 的字符出错。n

例如:
如果在一个字符串中使用了下划线符号("_") ,SMS 的消息文本中将会错误地以"§" 替代,因为在 GSM 3.38 编码中,"§"被编码为95(十进制),下划线("_")被编码成17(十进制)。n

补救措施
在 SMS 文本中直接使用 MOVE 命令将相关的代码编号送到对应的地址当中,例如为了在 SMS 中正确编码下划线"_",可以直接将17(十进制)送到 DBx.DBBx 中。n

总览
下表描述了不同字符在 GSM 3.38和 ASCII 的不同编码值:

GSM 3.38
编码值(十进制)
ASCII
编码值(十进制)
字符 描述
0 64 @
1 163 £
2 36 $
10 10 LF 换行
13 13 CR
17 95 _ 下划线
27 27 <ESC> ESC键
32 32 SP 空格
33 33 !
34 34 "
35 35 #
37 37 %
38 38 &
39 39 '
40 40 (
41 41 )
42 42 *
43 43 +
44 44 ,
45 45 -
46 46 .
47 47 /
48 48 0
49 49 1
50 50 2
51 51 3
52 52 4
53 53 5
54 54 6
55 55 7
56 56 8
57 57 9
58 58 :
59 59 ;
60 60 <
61 61 =
62 62 >
63 63 ?
65 65 A
66 66 B
67 67 C
68 68 D
69 69 E
70 70 F
71 71 G
72 72 H
73 73 I
74 74 J
75 75 K
76 76 L
77 77 M
78 78 N
79 79 O
80 80 P
81 81 Q
82 82 R
83 83 S
84 84 T
85 85 U
86 86 V
87 87 W
88 88 X
89 89 Y
90 90 Z
91 196 Ä
92 214 Ö
94 220 Ü
97 97 a
98 98 b
99 99 c
100 100 d
101 101 e
102 102 f
103 103 g
104 104 h
105 105 i
106 106 j
107 107 k
108 108 l
109 109 m
110 110
111 111 o
112 112 p
113 113 q
114 114 r
115 115 s
116 116 t
117 117 u
118 118 v
119 119 w
120 120 x
121 121 y
122 122 z
123 228 ä
124 246 ö
126 252 ü
27
10
12 FF

换页n

在ESC(16进制0x1B = 27 十进制) 之后紧跟着一个换行字符<LF> (16进制0x0A = 10 十进制)将产生换页字符

27
101
128在ESC(16进制0x1B = 27 十进制) 之后紧跟着一个字符"e" (16进制0x65 = 101 十进制)将产生"€"字符
27
47
92在ESC(16进制0x1B = 27 十进制) 之后紧跟着一个字符"/" (16进制0x2F =47 十进制)将产生""字符

表01

注意
CP 1242-7 的SMS 消息不支持所有的特殊字符,例如"@"和变音符号。GSM 03.38 规范应用可能还存在其它限制这取决于 GSM 网络供应商。
关于 CP 1242-7 如何组态 SMS 短消息请参阅手册,入口ID 61029644.

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc326536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论