Encode Charactors to 7BitCode or UCS2 PDU string (vb.net)
Sep 28, 2004
Encode Charactors to 7BitCode or UCS2 PDU string (vb.net)
PublicFunction Encode7Bit(ByVal Content AsString) AsString 'Prepare Dim CharArray AsChar() = Content.ToCharArray Dim c AsChar Dim t AsString ForEach c In CharArray t = CharTo7Bits(c) + t Next 'Add "0" Dim i AsInteger If (t.Length Mod8) <> 0Then For i = 1To8 - (t.Length Mod8) t = "0" + t Next EndIf 'Split into 8bits Dim result AsString For i = t.Length - 8To0Step-8 result = result + BitsToHex(Mid(t, i + 1, 8)) Next Return result EndFunction
PrivateFunction BitsToHex(ByVal Bits AsString) AsString 'Convert 8Bits to Hex String Dim i, v AsInteger For i = 0To Bits.Length - 1 v = v + Val(Mid(Bits, i + 1, 1)) * 2 ^ (7 - i) Next Dim result AsString result = Format(v, "X") If result.Length = 1Then result = "0" + result EndIf Return result EndFunction
PrivateFunction CharTo7Bits(ByVal c AsChar) AsString Dim Result AsString Dim i AsInteger For i = 0To6 If (Asc(c) And2 ^ i) > 0Then Result = "1" + Result Else Result = "0" + Result EndIf Next Return Result EndFunction
PrivateFunction EncodeUCS2(ByVal Content AsString) AsString Dim i, j, v AsInteger Dim Result, t AsString For i = 1To Content.Length Step4 v = AscW(Mid(Content, i, 4)) t = Format(v, "X") For j = 1To4 - t.Length t = "0" & t Next Result += t Next Return Result EndFunction