.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Encode Charactors to 7BitCode or UCS2 PDU string (vb.net)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

   Public Function Encode7Bit(ByVal Content As String) As String
        'Prepare
        Dim CharArray As Char() = Content.ToCharArray
        Dim c As Char
        Dim t As String
        For Each c In CharArray
            t = CharTo7Bits(c) + t
        Next
        'Add "0"
        Dim i As Integer
        If (t.Length Mod 8) <> 0 Then
            For i = 1 To 8 - (t.Length Mod 8)
                t = "0" + t
            Next
        End If
        'Split into 8bits
        Dim result As String
        For i = t.Length - 8 To 0 Step -8
            result = result + BitsToHex(Mid(t, i + 1, 8))
        Next
        Return result
    End Function

    Private Function BitsToHex(ByVal Bits As String) As String
        'Convert 8Bits to Hex String
        Dim i, v As Integer
        For i = 0 To Bits.Length - 1
            v = v + Val(Mid(Bits, i + 1, 1)) * 2 ^ (7 - i)
        Next
        Dim result As String
        result = Format(v, "X")
        If result.Length = 1 Then
            result = "0" + result
        End If
        Return result
    End Function

    Private Function CharTo7Bits(ByVal c As Char) As String
        Dim Result As String
        Dim i As Integer
        For i = 0 To 6
            If (Asc(c) And 2 ^ i) > 0 Then
                Result = "1" + Result
            Else
                Result = "0" + Result
            End If
        Next
        Return Result
    End Function

    Private Function EncodeUCS2(ByVal Content As String) As String
        Dim i, j, v As Integer
        Dim Result, t As String
        For i = 1 To Content.Length Step 4
            v = AscW(Mid(Content, i, 4))
            t = Format(v, "X")
            For j = 1 To 4 - t.Length
                t = "0" & t
            Next
            Result += t
        Next
        Return Result
    End Function




相关文章

相关软件