转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
字符串与二进制互相转化(不包含汉字)         ★★★★

字符串与二进制互相转化(不包含汉字)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:665 更新时间:2009/4/23 18:59:24

对于二进制与字符的互换,是由于我要做DES加密程序的需要才设计的
现在把我的源程序发布:

先建立一个工程
在框架上画
两个textbox,命名为text1,text2
两个commandbutton, 命名为command1,command1
其他定义自己去该吧!

rem 此程序由Qthinker制作,免费发布,可以修改,请保留此信息
Option Base 1
Private Function byte2bit(s As String) As String
Dim i As Integer, j As Integer, k As Integer, ilen As Integer
Dim by() As String
Dim b() As Integer
ilen = Len(s)
ReDim by(ilen)
ReDim b(ilen / 8)
For k = 1 To ilen
 by(k) = Mid$(s, k, 1)
 Next k

For i = 1 To (ilen / 8)
If by(1 + 8 * (i - 1)) = "1" Then
b(i) = b(i) Or &H80
Else
b(i) = b(i) And &H7F
 End If
If by(2 + 8 * (i - 1)) = "1" Then
 b(i) = b(i) Or &H40
 Else
  b(i) = b(i) And &HBF
End If
 If by(3 + 8 * (i - 1)) = "1" Then
 b(i) = b(i) Or &H20
 Else
  b(i) = b(i) And &HDF
End If
 If by(4 + 8 * (i - 1)) = "1" Then
 b(i) = b(i) Or &H10
 Else
 b(i) = b(i) And &HEF
  End If
 If by(5 + 8 * (i - 1)) = "1" Then
 b(i) = b(i) Or &H8
 Else
 b(i) = b(i) And &HF7
 
End If
 If by(6 + 8 * (i - 1)) = "1" Then
 b(i) = b(i) Or &H4
 Else
 b(i) = b(i) And &HFB
End If
  If by(7 + 8 * (i - 1)) = "1" Then
  b(i) = b(i) Or &H2
  Else
 b(i) = b(i) And &HFD
 End If
If by(8 + 8 * (i - 1)) = "1" Then
 b(i) = b(i) Or "1"
 Else
 b(i) = b(i) And &HFE
End If
byte2bit = byte2bit & Chr$(b(i))

 Next i
End Function
Private Function bit2byte(s As String) As String
Dim s2 As String
Dim x As String
Dim i As Integer, k As Integer
Dim ilen As Integer

ilen = Len(s)
Dim b()
Dim s1()
ReDim s1(ilen)
ReDim b(ilen * 8)
s2 = ""
For i = 1 To ilen
 x = Mid$(s, i, 1)
 s1(i) = Asc(x)

  If s1(i) And &H80 Then
     b(1 + 8 * (i - 1)) = 1
  Else
     b(1 + 8 * (i - 1)) = 0
   End If

  If s1(i) And &H40 Then
      b(2 + 8 * (i - 1)) = 1
   Else
   b(2 + 8 * (i - 1)) = 0
   End If
 
  If s1(i) And &H20 Then
     b(3 + 8 * (i - 1)) = 1
   Else
   b(3 + 8 * (i - 1)) = 0
   End If

If s1(i) And &H10 Then
      b(4 + 8 * (i - 1)) = 1
   Else
   b(4 + 8 * (i - 1)) = 0
   End If


If s1(i) And &H8 Then
     b(5 + 8 * (i - 1)) = 1
   Else
   b(5 + 8 * (i - 1)) = 0
   End If
 
If s1(i) And &H4 Then
     b(6 + 8 * (i - 1)) = 1
   Else
   b(6 + 8 * (i - 1)) = 0
   End If
 
If s1(i) And &H2 Then
    b(7 + 8 * (i - 1)) = 1
   Else
   b(7 + 8 * (i - 1)) = 0
   End If
 
If s1(i) And "1" Then
     b(8 + 8 * (i - 1)) = 1
Else
   b(8 + 8 * (i - 1)) = 0
   End If
 
Next i

For k = 1 To ilen * 8
 s2 = s2 & b(k)
  If k Mod 8 = 0 Then
     s2 = s2
  End If
 Next k
bit2byte = s2
End Function

Private Sub Command1_Click()
Dim s As String
Dim s2 As String
s = Text1.Text
s2 = bit2byte(s)
Text2.Text = s2
End Sub

Private Sub Command2_Click()
Dim s As String
Dim s1 As String
s = Text2.Text
s1 = byte2bit(s)
Text2.Text = s1
End Sub


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台