⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何在vb中将汉字编码与unicode相互转换方法.txt

📁 通过GSMMODEM发送短信并可自动接收短信做相应处理
💻 TXT
字号:
         ★★★【字体:小 大】

      如何在vb中将汉字编码与unicode相互转换方法



      作者:佚名    文章来源:http://www.sendsms.cn    点击数:1802    更新时间:2004-11-24


      将uniCode转化为中文的代码
      以下是将uniCode转换为中文的代码。 
      function TfrmMain.ReadHex(AString: string): integer;
      begin
      Result:=StrToInt('$'+AString)
      end;
      function TfrmMain.UnicodeToAnsi(Unicode: string): string;
      var
      s:string;
      i:integer;
      j,k:string[2];
      begin
      i:=1;
      s:='';
      while i j:=Copy(Unicode,i+2,2);
      k:=Copy(Unicode,i,2); 
      i:=i+4;
      s:=s+Char(ReadHex(j))+Char(ReadHex(k));
      end; 
      if s<>'' then
      s:=WideCharToString(PWideChar(s+#0#0#0#0))
      else 
      s:='';
      Result:=s;
      end;
      如何在vb中将汉字转化成unicode
      A.发送中文例子:
      发送中文有两种方法,一种是PDU,一种是UCS2文本
      1.PDU方法:
      at+cmgf=0
      at+cmgs=24
      >0891 683108100005F0 11 00 0B81 3109018759F1 0008 A7 0A 00650073007496484E30
      信息内容为set陈丰
      解释:此字符串传set陈丰五个字符,采用unicode编码。
      0891固定格式不动,683108100005F0为短消息中心号码,
      11固定格式不动代表PDU格式,
      00代表是第几条短消息,
      0B81固定格式不动,3109018759F1为目的号码,
      00固定格式不动代表是短消息,
      08代表8位unicode编码(中文必须用unicode编码),F0到F3为7编码,F4到F7为8位编码
      A7代表此短消息在短消息中心存储的时间是24小时,最大FF为135周,
      0A代表后有10个字节(有1个字节为01,2个为01,类推)
      0065是s的unicode编码,0073是e的unicode编码,0074是t的unicode编码,
      9648是陈的unicode编码,4E30是丰的unicode编码
      0A后跟的就是所需发送的消息部分,全部采用unicode的编码。
      unicode的编码转换可调用VB或VC中的函数直接得到。
      at+cmgs=24中的24是14再加上消息长度10得出的.
      2.USC2的文本方法
      at+cmgf=1
      at+csmp=??,??,??,8(问号代表自己根据需要选择合适的参数)
      at+cmgs=手机号码(1390PQRABCD)
      >00650073007496484E30
      信息内容为set陈丰
      当您用UCS2文本发送中文短消息时,要先将中文转成unicode编码,
      再将中文短消息的unicode编码用文本方式发送.

      B.编程例子:
      Private Sub Command1_Click()
      ' 使用 COM3。
      ' 9600 波特,无奇偶校验,8 位数据,一个停止位。
      MSComm1.Settings = "9600,N,8,1"
      MSComm1.Handshaking = comRTS
      ' 打开端口。
      ' MSComm1.PortOpen = False
      ' MSComm1.PortOpen = True
      ' 将 at 命令送到调制解调器。
      MSComm1.Output = "AT"
      MSComm1.Output = Chr(13)
      MSComm1.Output = "AT+CMGF=1"
      MSComm1.Output = Chr(13)
      MSComm1.Output = "AT+CMGS="
      MSComm1.Output = Chr(34)
      MSComm1.Output = "13901237885"
      MSComm1.Output = Chr(34)
      MSComm1.Output = Chr(13)
      MSComm1.Output = "test OK "
      MSComm1.Output = Chr(26)
      End Sub
      Private Sub Command3_Click()
      MSComm1.CommPort = 2
      MSComm1.PortOpen = True
      End Sub
      //将UNICODE转换中文
      Public Function Unicode2AscII(ByVal s As String)
      On Error Resume Next
      Dim i As Integer
      Dim r As String
      For i = 1 To Len(s) Step 4
      r = r + ChrB("&H" & Mid(s, i + 2, 2)) & ChrB("&H" & Mid(s, i, 2))
      Next
      Unicode2AscII = r
      End Function
      //将中文转换为UniCode,
      function AnsiToUnicode(Ansi: string):string;
      var
      s:string;
      i:integer;
      j,k:string[2];
      a:array [1..1000] of char;
      begin
      s:='';
      StringToWideChar(Ansi,@(a[1]),500);
      i:=1;
      while ((a[i]<>#0) or (a[i+1]<>#0)) do begin
      j:=IntToHex(Integer(a[i]),2);
      k:=IntToHex(Integer(a[i+1]),2);
      s:=s+k+j;
      i:=i+2;
      end;
      Result:=s;
      end;
      文章录入:admin    责任编辑:admin  
      上一篇文章: 如何在串口通讯程序中处理数据包

      下一篇文章: 基于串口通信的远程自动抄表系统实现

      【发表评论】【告诉好友】【打印此文】【关闭窗口】 

      · 常用DTMF/FSK解码器集成电…
      · PT2262编码芯片的软件解码
      · [组图]PT2262/2272编解码集…
      · [组图]87LPC764实现遥控信…
      · [组图]单片机与ISA总线以太…
      · [组图]DTMF远程通信的软硬…
      · [组图]一种2FSK解调算法的…
      · 电话通讯设计经验
      · [组图]基于单片机控制的小…
      · [组图]几种电话线馈电电路…
      · [组图]移频键控(FSK)基础
      · [组图]各种IC封装形式
      · [组图]10分钟完成一个USB驱…
      · PCB设计基础知识
      · [组图]PCB设计指引
      · uCOS51移植心得
      · [组图]嵌入式GSM短信息接口…
      · [组图]表面贴装设计与焊盘…
      · [组图]C#开发终端式短信的…
      · [组图]C#开发终端式短信的…
      QuickComm(一个版主写的串口…

      Use Base Class Lib for Ser…

      Serial COM Simply in C#

      如何使用串口控件MSComm在do…

      Delphi串口通讯的监听

      RS-232-C端口实时监控软件的…

      多线程技术在VC++串口通信程…

      MSComm控件实现中文Win 9x下…

      基于串口通信的远程自动抄表…

      如何在串口通讯程序中处理数…


      (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
          没有任何评论 


            | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | 


            版权所有 Copyright? 2002-2005 华程电子 核心:PowerEasy V4.03
                  设计版本:艺龙在线 V4.3 大众版
                  公司名称:山西晋华程电子设计中心
                  网络供应商:时代互联



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -