CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

请问谁有有关短信接收pdu转为汉字的资料

楼主CGACHA()2006-03-11 11:47:47 在 .NET技术 / C# 提问

各位大侠,GSM返回来的PDU代码若要转换成汉字,并提取信息需要考虑很多情况,且小弟刚接触串口通信编程,时间又急   ,哪位大侠有有关短信接收pdu转为汉字的资料贡献下给小弟啊   谢谢了 问题点数:20、回复次数:10Top

1 楼independently(我是风筝高高飞)回复于 2006-03-11 11:52:51 得分 0

/////////////////////////////////////  
  ///文         件:PDUdecoding.cs  
  ///概         要:针对国内短信解码(USC2)  
  ///组成结构:包含四个函数:  
  ///       1、GetEverySMS(string   SMS)  
  ///       2、GetTelphone(string   SMS)  
  ///       3、GetDataTime(string   SMS)    
  ///       4、GetContent(string     SMS)        
  ////////////////////////////////////  
  using   System;  
  using   System.Text;  
  namespace   smsForCharp  
  {  
  ///   <summary>  
  ///   PDUdecoding   的摘要说明。  
  ///   </summary>  
  public   class   PDUdecoding  
  {  
  public   PDUdecoding()  
  {  
   
  //   TODO:   在此处添加构造函数逻辑  
   
  }  
   
  ///   <summary>  
  ///   判断接受的短信是PDU格式还是TEXT格式  
  ///   </summary>  
   
  public   bool   IsPDU(string   SMS)  
  {  
  if(SMS.Substring(40,2)!="08")  
  return   false;  
          return   true;  
  }  
   
  ///   <summary>  
  ///   函数功能:短信内容提取  
  ///   函数名称:GetEverySMS(string   SMS)  
  ///   参         数:SMS   要进行提取的整个短信内容  
  ///   返   回   值:将多个短信内容拆分  
  ///   </summary>  
   
  public   string[]   GetEverySMS(string   SMS)  
  {  
  char[]   str="\n".ToCharArray();  
  string[]   temp=SMS.Split(str);  
  return   temp;  
  }  
   
  ///   <summary>  
  ///   函数功能:提取短信的发送人电话号码  
  ///   函数名称:GetTelphone(string   SMS)  
  ///   参         数:SMS   要进行转换的整个短信内容  
  ///   返   回   值:电话号码  
          ///   </summary>  
   
  public   string   GetTelphone(string   SMS)  
  {  
  string   tel=SMS.Substring(24,14);  
  string   s="";  
  for(int   i=0;i<11;i+=2)  
  {  
  s+=tel[i+1];  
  s+=tel[i];  
  }  
  s+=tel[tel.Length-1];  
  return   s;  
  }  
   
  ///   <summary>  
  ///   函数功能:提取短信的发送时间  
  ///   函数名称:GetDataTime(string   SMS)  
  ///   参         数:SMS:要进行转换的整个短信内容  
  ///   返   回   值:发送时间  
  ///   </summary>  
   
  public   string   GetDataTime(string   SMS)  
  {  
  string   time=SMS.Substring(42,12);  
  string   s="";  
  for(int   i=0;i<11;i+=2)  
  {  
  s+=time[i+1];  
  s+=time[i];  
  }  
  string   t=s.Substring(0,2)+"年"+s.Substring(2,2)+"月"+s.Substring(4,2)+"日"+s.Substring(6,2)+":"+s.Substring(8,2)+":"+s.Substring(10,2);  
  return   t;  
  }  
   
  ///   <summary>  
  ///   函数功能:提取短信的内容(PDU)  
  ///   函数名称:GetContent(string   SMS)  
  ///   参         数:SMS:要进行转换的整个短信内容  
  ///   返   回   值:短信内容  
  ///   </summary>  
   
  public   string   GetContent(string   SMS)  
  {  
  string   c="";  
  string   len=SMS.Substring(56,2);  
  int   length=System.Convert.ToInt16(len,16);  
  length*=2;  
  string   content=SMS.Substring(58,length);  
  for(int   i=0;i<length;i+=4)  
  {  
  string   temp=content.Substring(i,4);  
  int   by=System.Convert.ToInt16(temp,16);  
  char   ascii=(char)by;  
  c+=ascii.ToString();  
  }  
  return   c;  
  }  
   
  ///   <summary>  
  ///   函数功能:提取短信的TEXT内容(TEXT)  
  ///   函数名称:GetTextContent(string   SMS)  
  ///   参         数:SMS:要进行转换的整个短信内容  
  ///   返   回   值:短信内容  
  ///   </summary>  
   
  public   string   GetTextContent(string   SMS)  
  {  
  string   str="";  
  string   c="";  
  byte   by;  
  char   ascii;  
  int   i;  
  SMS=SMS.Replace("\r","");  
  SMS=SMS.Replace("\n","");  
  string   content=SMS.Substring(58);  
  for(i=content.Length-2;i>=0;i-=2)  
  {  
  by=Convert.ToByte(content.Substring(i,2),16);  
  str+=Convert.ToString(by,2).PadLeft(8,'0');  
  }  
  for(i=str.Length-7;i>=0;i-=7)  
  {  
  by=Convert.ToByte(str.Substring(i,7),2);  
  ascii=(char)by;  
  c+=ascii.ToString();  
  }  
  return   c;  
  }  
  }  
  }  
  这是我写的一个PDU解码的类。你可以参考下。呵呵Top

2 楼CGACHA()回复于 2006-03-11 11:53:45 得分 0

谢谢大哥~~我看看先....Top

3 楼independently(我是风筝高高飞)回复于 2006-03-11 11:55:03 得分 0

呵呵。不客气。Top

4 楼qpgsd(青苹果)回复于 2006-03-11 14:39:24 得分 0

好像不同的手机有不同的编码方式吧,有的用UTF8编码,有的用PDU什么的,我觉得没那么简单Top

5 楼CGACHA()回复于 2006-03-11 15:56:15 得分 0

大哥   能简单解释下GetTextContent()   和GetContent()方法吗?     得到短信内容的PDU码后是不是先要转成16进制的字符串?     *_*Top

6 楼CGACHA()回复于 2006-03-11 15:58:47 得分 0

恩,应该是   每个手机都不同   现在就是最后短信内容转还卡着   希望大侠帮忙~Top

7 楼independently(我是风筝高高飞)回复于 2006-03-12 11:56:21 得分 20

CGACHA():你好,我给你的代码是针对西门子模块的,PDU算法解码。西门子模块支持基于AT指令的Text   Mode和基于AT指令的PDU   Modem,前一种比较简单,后一种要复杂些,你可以参考网站:http://www.mcuchina.com/Article/Communication/SMS/200503/413.html   介绍的很详细。我给你的这个程序:GetContent()是对接受到的汉字进行解码,而GetTextContent()是对接受到的TEXT模式的短信进行解码,(也就是接受到的短信都是可见字符:字母。数字。标点符号等可打印字符),针对这种编码,需要一个7bit到ASCII的转换。你先仔细看下我给你的网站,呵呵。Top

8 楼CGACHA()回复于 2006-03-13 08:49:31 得分 0

呵呵,谢谢大哥指点~!!!!!祝你好运!~Top

9 楼independently(我是风筝高高飞)回复于 2006-03-13 08:55:11 得分 0

有不懂的地方咱们可以探讨,呵呵,我刚做完这个项目,所以比较熟悉。Top

10 楼noah5888()回复于 2006-04-17 15:56:53 得分 0

您好:  
  短信群发器(短信猫)(全国最低价)=750元/台  
  短信开发接口(无时间和使用次数的限制)=800元  
  我公司现面向全国诚征短信产品代理商,全线代理我公司产品,代理我公司产品具有投资少,见效快,收益高等特点!有意者请速与我公司联系:13391791746/010-87416460,谢谢!  
  我公司郑重承诺:诺亚短信开发接口与诺亚短信设备(短信猫)无任何绑定限制(无时间和使用次数的限制):即第一次买入后,以后无需再次购买此开发接口,请广大用户在购买时注意咨询,如有疑问,欢迎来电咨询!诺亚短信设备(短信猫)为全国最低价!    
  我公司还供应以下软件产品(短信群发/群发短信/短信群发软件/短信开发接口/短信开发包/短信群发软件/短信卡/短信猫/小灵通短信猫/短信群发器/短信群发机):  
  诺亚·短信开发接口        诺亚·短信群发·办公版  
  诺亚·短信防伪·系统   诺亚·短信群发·广告版    
  诺亚·短信查询·系统   诺亚·短信群发·网络版  
  诺亚·短信家校通·版   诺亚·短信群发·物流版  
  诺亚·短信群发卡(短信卡)诺亚·短信群发·集团版(群发短信资费:8分/条)  
  注:全部产品售后服务为:3年质保!  
          我公司可为广大用户办理货到付款业务!  
  如需了解更多优惠信息,请与我们联系:  
  北京诺亚公司  
  联系人:王先生  
  地   址:北京市海淀区远大路20号鹏安世纪大厦A座12A  
  邮   编:100089      
  电   话:13391791746/010-87416460/010-51980693    
  传   真:010-51666783  
  邮   箱:webmaster@noahsoft.cn    
  QQ   号:397923974    
  MSN:noahsoft@hotmail.com    
  网   址:www.noahsoft.cnTop

相关问题

  • 谁有有关短信接收pdu转为汉字的资料
  • 将数字转为汉字或汉字货币大写
  • 怎样用Request对象来接收汉字?怎样将接收的汉字转码?
  • 谁给我一个汉字转为16进制的函数??
  • 请教:SMS PDU的汉字问题
  • 求教:用StreamReader接收汉字乱码!谢谢!!
  • asp.net 中 Request 接收汉字参数问题.
  • 汉字转为拼音的代码,有谁知道它能将多少汉字转成拼音?
  • 如何将*.dbf的数据表(含汉字)转为*.db的数据表?
  • UTF-8(Unicode) 字符串转为AnsiString,解决汉字乱码的问题

关键词

  • sms
  • 函数
  • 汉字
  • 转换
  • 内容
  • 解码
  • 接口
  • 编码
  • 短信
  • pdu

得分解答快速导航

  • 帖主:CGACHA
  • independently

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo