Hi,
Does anybody know how to convert a uu encoded zip file into a normal winzip file?
Many thanks
Nick
Printable View
Hi,
Does anybody know how to convert a uu encoded zip file into a normal winzip file?
Many thanks
Nick
Im working on it. hopefully have something for you soon.
Ok. Here you go. all you need to do is pass the string to uuEncode function and it will return a string of data that you can then just simply create a new file and fill it with. I wrote up both the decoder and encoder function in case you ever need both.
VB Code:
Public Class UUCodec Public Function uuDecode(ByVal encodedString As String) As String Dim decodedstring As String Dim x As Long = encodedString.Length Dim i As Long Dim char1 As Double Dim char2 As Double For i = 1 To x Step 4 char1 = Asc(encodedString.Substring(i - 1, 1)) char2 = Asc(encodedString.Substring(i, 1)) If char1 = 96 Then char1 = 32 If char2 = 96 Then char2 = 32 decodedstring = decodedstring & Chr(((char1 - 32) * 4) + (Convert.ToInt16((char2 - 32) \ 16))) char1 = Asc(encodedString.Substring(i, 1)) char2 = Asc(encodedString.Substring(i + 1, 1)) If char1 = 96 Then char1 = 32 If char2 = 96 Then char2 = 32 decodedstring = String.Concat(decodedstring, Chr(((char1 Mod 16) * 16) + (char2 - 32) \ 4)) char1 = Asc(encodedString.Substring(i + 1, 1)) char2 = Asc(encodedString.Substring(i + 2, 1)) If char1 = 96 Then char1 = 32 If char2 = 96 Then char2 = 32 decodedstring = String.Concat(decodedstring, Chr(((char1 Mod 4) * 64) + (char2 - 32))) Next Return decodedstring End Function Public Function uuEncode(ByVal decodedString As String) As String Dim encodedstring As String Dim x As Long = decodedString.Length Dim i As Long Dim char1 As Double Dim char2 As Double If x Mod 3 <> 0 Then Dim temp As String = New String(Chr(0), 3 - x Mod 3) encodedstring = String.Concat(encodedstring, temp) End If For i = 1 To x Step 3 char1 = Asc(decodedString.Substring(i - 1, 1)) If char1 = 96 Then char1 = 32 encodedstring = String.Concat(encodedstring, Chr(char1 \ 4 + 32)) char1 = Asc(decodedString.Substring(i - 1, 1)) char2 = Asc(decodedString.Substring(i, 1)) If char1 = 96 Then char1 = 32 If char2 = 96 Then char2 = 32 encodedstring = String.Concat(encodedstring, Chr((((char1 Mod 4) * 16)) + (char2 \ 16 + 32))) char1 = Asc(decodedString.Substring(i, 1)) char2 = Asc(decodedString.Substring(i + 1, 1)) If char1 = 96 Then char1 = 32 If char2 = 96 Then char2 = 32 encodedstring = String.Concat(encodedstring, Chr((((char1 Mod 16) * 4)) + (char2 \ 64 + 32))) char1 = Asc(decodedString.Substring(i + 1, 1)) If char1 = 96 Then char1 = 32 encodedstring = String.Concat(encodedstring, Chr((((char1 Mod 64) + 32)))) Next Return encodedstring End Function End Class
Hi Cander,
thanks for that. I've sent you a PM.
Nick