50分急问:CTRL+Z的Unicode值是什么?怎样转换成unicode? 在delphi中如何把这个值发送到串口去? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 别人告诉我ctrl+z的unicode值是0x001A,我在delphi中直接用vacomm1.writetext('0x001A')写入串口,结果串口设备没有把他当成控制字符,而是直接当成'0x001A'这个字符串了。这个串口设备的控制字符是unicode 的ctrl+z 通常串口设备只接收和发送单字节,特别是控制命令,可直接发送'1A'试试如果必须用unicode代码,应分别发送两字节的控制代码。 如果使用MSComm控件发送AT指令,使用Ctrl+Z结束,在AT指令后面加#26就可以. 谢谢楼上的,我的串口设备是cdma模块,他的文档中这样写:1. CDMA发英文短信过程:发送英文数字短消息“123456”,使用其相应ASCII码发送。> AT+WSCL=1,2<CR> (设置为发英文短信)> AT+CMGS="13600193264"<CR>> 123456<ctrl-Z>> > 返回代码:> +CMGS:N 表示成功发出,N为序号。2. CDMA发中文短信过程:发送中文短消息“通信”其相应Unicode编码:0x901A 0x4FE1> AT+WSCL=6,4<CR>> AT+CMGS="13600193264"<CR>> 60A8597D<ctrl-Z>> 返回代码:> +CMGS:N 表示成功发出,N为序号。> > 对于中文短消息其中的控制字符也必须用其UNCODE代码表示。注意:程序中发送的时候应该是发送数据0x90,0x1A,0x4F,0xE1,消息内容的结束则以结束符来做标记,所以它的结束符也应该是UNICODE格式的。即在超级终端中用此种方式是无法发送成功的,因为从键盘键入的<ctrl-Z>并非UNICODE格式,仅ASCII码而已,在程序中正确的结束符应该是0x00 0x1a才对。我发送英文的没问题,直接用#26就可以发送,但是中文的不行。 vacomm1.writetext(#00#1A);看看这样如何 弹出对话框问题 怎么在stringgrid中输入汉字 认识我的,不认识我的,都来接分! 如何判断出DBGRID中有没有显示记录?? delphi严重问题,进者有分! 怎样用winsock api发送smtp验证邮件? 什么控件允许在一屏页摆放多行组件,当组件在其高度之外时,他会象窗口一样自动产生滚动条? 奇怪问题,请各位帮忙。 问个关于比较编辑框的值的问题 动态菜单问题(2)UP有分 如此問題,你怎回答 很想问的问题,如何用DELPHI调用DTS备份与还原数据库?因为现在还不想用第三方控件:(
如果必须用unicode代码,应分别发送两字节的控制代码。
1. CDMA发英文短信过程:
发送英文数字短消息“123456”,使用其相应ASCII码发送。
> AT+WSCL=1,2<CR> (设置为发英文短信)
> AT+CMGS="13600193264"<CR>
> 123456<ctrl-Z>
>
> 返回代码:
> +CMGS:N 表示成功发出,N为序号。
2. CDMA发中文短信过程:
发送中文短消息“通信”其相应Unicode编码:0x901A 0x4FE1
> AT+WSCL=6,4<CR>
> AT+CMGS="13600193264"<CR>
> 60A8597D<ctrl-Z>
> 返回代码:
> +CMGS:N 表示成功发出,N为序号。
>
> 对于中文短消息其中的控制字符也必须用其UNCODE代码表示。
注意:程序中发送的时候应该是发送数据0x90,0x1A,0x4F,0xE1,消息内容的结束则以结束符来做标记,所以它的结束符也应该是UNICODE格式的。即在超级终端中用此种方式是无法发送成功的,因为从键盘键入的<ctrl-Z>并非UNICODE格式,仅ASCII码而已,在程序中正确的结束符应该是0x00 0x1a才对。我发送英文的没问题,直接用#26就可以发送,但是中文的不行。
看看这样如何