CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

请对acsii码有研究的高手们进来一下帮帮忙!

楼主holyassassin(迷途小羊羔)2004-05-01 00:45:44 在 VB / 基础类 提问

本人刚接触VB不久,所以很多东东还不明白!如今我学习编一个程序需要acsii码,别人帮我找到一个用VB编的acsii码对照表,但我还是不太懂用(汗,目前还是菜鸟一只是这种程度的了!),所以来这里求大家指点迷津!  
  譬如:(1)函数值>127时,对应的字符该怎样求!(2)当是多字符的时候,对应的函数值怎求   (3)对于特殊字符的对应值又怎求  
  暂时是这么多,如果再遇到什么问题我再会向大家求教,在这里先感谢大家.小弟是第一次发贴,有什么不对的地方请指出来.再次感谢!!!!!!!!!! 问题点数:15、回复次数:10Top

1 楼KiteGirl(小仙妹)回复于 2004-05-01 21:26:23 得分 15

1、VB里采用UniCode码,大于127的代码将无法显示(而且,大于127的代码往往被认为是汉字或者扩展字符集)。UniCode码是16位的,在VB里,每个字符都占用两个字节。即使半角英文、符号也如此。  
   
  2、求多个字符的UniCode码。  
  Dim   tBytes()   As   Bytes  
  tString="KiteGirl是个好孩子"  
  tBytes()=String  
  以上代码获得一个Byte数组,体现字符串在内存中的UniCode格式。  
   
  或者:  
   
  Ascii=Asc(Mid(tString,i,1))   '求字符串第i个字符的Ansi或者GBK编码(简体系统)。  
  Ascii=AscW(Mid(tString,i,1))   '求字符串第i个字符的UniCode编码。  
  Ascii=AscB(MidB(tString,i,1))   '求字符串第i个字节的Ascii码。  
   
  3、特殊字符以KeyPress事件来求。  
   
  Top

2 楼luoxiaoxiang(翔翔)回复于 2004-05-02 17:18:01 得分 0

敲哪个键,窗体就显示该键的Ascii码。  
  Option   Explicit  
   
  Private   Sub   Form_KeyDown(KeyCode   As   Integer,   Shift   As   Integer)  
  Dim   a   As   String  
  a   =   KeyCode  
  Print   a  
  End   Sub  
  Top

3 楼holyassassin(迷途小羊羔)回复于 2004-05-05 13:10:04 得分 0

哪请问Windows自带的计算器对换算有帮助吗?  
  能否教我设计一个查Acsii码的对照表吗?Top

4 楼hhyttppd(123456)回复于 2004-05-05 13:26:20 得分 0

asc(char)求字符的ASCII   码,chr(ascii)求ascii码对应的字符。Top

5 楼KiteGirl(小仙妹)回复于 2004-05-05 20:31:37 得分 0

给你一个显示Ascii码表的例子:  
   
  Private   Sub   Form_Load()  
  Dim   tOutString   As   String  
  Dim   tBytes()   As   Byte  
  Dim   tIndex   As   Long  
   
  ReDim   tBytes(0   To   511)  
   
  For   tIndex   =   0   To   255  
      '以空格填充不显示区域  
      tBytes(tIndex   *   2)   =   32  
  Next  
   
  For   tIndex   =   32   To   127  
      '充值:在Windows下,只能正常显示32-127范围的Ascii码。  
      tBytes(tIndex   *   2)   =   tIndex  
  Next  
   
  tOutString   =   tBytes()  
  Text1.Text   =   tOutString  
  End   SubTop

6 楼holyassassin(迷途小羊羔)回复于 2004-05-06 15:48:01 得分 0

那如果是特殊或双字符的呢?请给个例子Top

7 楼holyassassin(迷途小羊羔)回复于 2004-05-06 16:03:13 得分 0

小仙妹姐姐你给的这段代码好像有误Dim   tBytes()   As   Bytes  
  tString="KiteGirl是个好孩子"  
  tBytes()=String  
  你自己试试看可能是我自己弄错了!Top

8 楼KiteGirl(小仙妹)回复于 2004-05-06 16:42:28 得分 0

的确是错了!  
  tString="KiteGirl是个好孩子"  
  tBytes()=String  
   
  其中tBytes()=String这句错了。应该是:  
   
  tBytes()=tString  
   
  属于笔误!不好意思!  
  Top

9 楼KiteGirl(小仙妹)回复于 2004-05-06 17:02:03 得分 0

在VB里,Byte数组和String可以互相赋值,利用这个特性处理字符串非常方便。  
   
  如果是处理大量文本,以下用法应该熟悉。  
   
  字符串与Byte数组互相赋值:  
  tBytes()=tString  
  tString=tBytes()  
   
  需要注意的是,在VB内部字符串是UniCode表示的,而Asc函数返回的是Ascii和GBK编码(也就是默认代码页的编码)。因此,Asc函数返回的编码值与上面的Byte数组返回的值可能是不同的。  
   
  从Ascii/GBK文本获得Unicode数组:  
  tBytes()=StrConv(tString,vbUnicode)  
   
  从Unicode文本获得Ascii/GBK数组:  
  tBytes()=StrConv(tString,vbFormUnicode)  
   
  从Ascii/GBK数组获得Unicode文本:  
  tString=StrConv(tBytes(),vbUnicode)  
   
  从Unicode数组获得Ascii/GBK文本:  
  tString=StrConv(tBytes(),vbFormUnicode)  
   
  快速读取文本文件:  
   
  '将文本文件整个读到Byte数组:  
  Dim   tBytes()   As   Byte  
  tFN=FreeFile  
  Open   pFileName   For   Binary   As   #tFN  
      tFileSize=LOF(#tFN)  
      ReDim   tBytes(tFileSize-1)  
      Get   #tFN,1,tBytes()  
  Close   #tFN  
  tString=StrConv(tBytes(),vbUnicode)   '从文件获得数组转换为带换行的多行文本字符串。  
   
  反之,如果将字符串文本写为二进制文件,则要:  
  Dim   tBytes()   As   Byte  
  tBytes()=StrConv(tString,vbFormUnicode)  
   
  tFN=FreeFile  
  Open   pFileName   For   Output   As   #tFN   '清除文件内容  
  Close   #tFN  
  Open   pFileName   For   Binary   As   #tFN  
      Put   #tFN,1,tBytes()  
  Close   #tFN  
   
  另外,还可以用API函数CopyMemory将Byte数组转换为Integer数组,在利用查表法进行内码转换、简繁转换时,该操作尤为重要。因为,在VB当中,每个“字”的编码都是16位UniCode,用Integer数组表示最为直观。但Integer数组不能直接与String赋值,因此需要一个与Byte数组转换的过程。  
   
  另外,你可以参考我在下面这个帖子里的回复:  
  http://expert.csdn.net/Expert/TopicView1.asp?id=2939892  
   
  在这个帖子里,我贴有一个GBK转Big5的代码,其中提供了一些比较实用的函数。  
  Top

10 楼holyassassin(迷途小羊羔)回复于 2004-05-14 18:13:03 得分 0

谢谢!我懂了!麻烦小仙妹姐姐那么耐心教偶!!感激感激!!Top

相关问题

  • 9行代码会使2000/xp崩溃,大家研究一下。
  • 3月15日到了,大家来研究一下条形码!
  • access链接代码的问题--大家研究一下
  • 研究过xpdf源代码的请进,一起交流一下
  • 研究emule源码的朋友一起进来一下
  • 都来研究一下下面的代码的原理,,速度测试!!
  • 我的机器上全是folder,谁有他的源码,研究一下
  • 哪位高手给个p2p的源代码研究一下啊,谢谢了
  • 那里有比较好的聊天室源码下载,小弟想研究一下?
  • 大家是否可以帮我研究一下榕树下的js代码原理

关键词

  • 字符
  • 函数
  • 文本
  • 编码
  • 代码
  • ascii码
  • vb
  • unicode
  • 转换
  • 文件

得分解答快速导航

  • 帖主:holyassassin
  • KiteGirl

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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