On Friday 29 April 2011 00:57:17 Caveat wrote: > xml.Decode...pfft! Funny, I never would have thought to look in gb.xml > for a base64 decoder! > > Anyhoo, did you compare xml.Decode and the routine below with the decode > function I wrote in the example project I sent earlier... or are you > *still* waiting for my decode function to return a result? lol
Didn't yet test it, must admit I'd missed it in the post - pressure of work and quick scrolling, I'll take a look richard > > I'm wondering if the Wait is doing much useful in the subroutine below > (in theory it should be allowing processing of all pending events, but > no user interaction). Perhaps you could remove it and see what > happens... > > Regards, > Caveat > > On Thu, 2011-04-28 at 22:09 +1000, richard terry wrote: > > On Thursday 28 April 2011 21:50:55 richard terry wrote: > > > > I've tried them both the xml reader and the subroutine below, on a > > real-life file, a hl7 file containg a pdf of a vascular result > > > > this code written by > > Christer Nygren <petterfi...@gmail.com> and some others, > > > > on my machine seems considerably faster than the xml.decode function > > > > Public Sub FromB64(B64Str As String) As String > > Dim Position As Long > > Dim dt As Byte > > Dim B64Decoded, u, c As String > > Dim Tkn, p As Integer > > > > Position = 1 > > Tkn = 0 > > Do Until Position > Len(B64Str) > > Wait > > c = Mid(B64Str, Position, 1) > > p = InStr(B64Const, c) > > If p > 1 Then > > p = p - 2 > > Inc Tkn > > Select Case Tkn > > Case 1 > > dt = (p * &h4) > > Case 2 > > B64Decoded = B64Decoded & Chr(dt + ((p And &H30&) / &H10&)) > > dt = (p And &HF&) * &H10& > > Case 3 > > B64Decoded = B64Decoded & Chr(dt + ((p And &H3C&) / 4)) > > dt = (p And &H3&) * &H40& > > Case 4 > > B64Decoded = B64Decoded & Chr(dt + p) > > End Select > > If Tkn = 4 Then Tkn = 0 > > Else ' Ej skrivbart tecken > > If p = 1 Then > > Position = Len(B64Str) + 1 > > End If > > Endif > > Inc Position > > Loop > > Select Case Tkn > > Case 1 > > B64Decoded = B64Decoded & Chr(dt) > > End Select > > Return B64Decoded > > End > > > > ??coments from those who know? > > > > richard > > > > > On Thursday 28 April 2011 21:38:52 Fabien Bodard wrote: > > > > Print XmlReader.Decode("strvalue", "Base64") > > > > > > Funny that, I based my head against a wall trying exactly that syntax, > > > I eventually found some old gambas code on the web that worked. > > > > > > But... just typed it in again, and it works. Dunno......... maybe I > > > didn't capitalise it or something. > > > > > > Anway, thanks. > > > > > > Like everything else in gambas, blindingly simple if you know. > > > > > > > > > Richard > > > > > > > 2011/4/28 richard terry <rte...@pacific.net.au>: > > > > > On Thursday 28 April 2011 20:16:31 Fabien Bodard wrote: > > > > > I tried this: > > > > > XmlReader.Decode(data, "?????" > > > > > > > > > > what goes in the encoding type "?????" > > > > > > > > > > I looked on the website to no avail > > > > > I tried strings like "Base64", "base64" etc > > > > > > > > > > couldn't figure it out. > > > > > > > > > > any hlep appreciated. > > > > > > > > > > Richard > > > > > > > > > >> gb.xml ! > > > > >> > > > > >> 2011/4/28 Caveat <gam...@caveat.demon.co.uk>: > > > > >> > Hi Richard, > > > > >> > > > > > >> > I don't know of any base64 decode function in Gambas, but then I > > > > >> > didn't look that hard ;-) > > > > >> > > > > > >> > There are various different flavours of base64, so be sure you > > > > >> > know which variant you're dealing with. > > > > >> > > > > > >> > I enclose with this mail a source archive of a little project > > > > >> > I've put together (sorry, it's Gambas2, hope that's OK) that > > > > >> > demonstrates decoding (and encoding) of base64 data. I found > > > > >> > the information on how to put together the encode and decode > > > > >> > algorithms here: http://en.wikipedia.org/wiki/Base64 > > > > >> > > > > > >> > There's also a reference to base64 in Gambas here: > > > > >> > http://www.gambasforum.com/index.php?topic=330.0 > > > > >> > The algorithms given in those code snippets could well be far > > > > >> > more efficient than mine. > > > > >> > > > > > >> > My Base64 Project > > > > >> > ----------------- > > > > >> > First thing to try is just hit the Encode button, it should > > > > >> > convert the text in the top textarea into base64 and place the > > > > >> > result in the lower textarea. Generally, if the In textbox is > > > > >> > blank, the input for Encode or Decode will be the upper > > > > >> > textarea, and if the Out textbox is blank, the output of the > > > > >> > Encode or Decode will be shown in the lower textarea. To encode > > > > >> > binary data, you'll need to use a file as input, so use the In > > > > >> > textbox to specify the file name. To decode base64 that > > > > >> > represents binary data, you'll need to use a file as output, so > > > > >> > use the Out textbox to specify the output file name. > > > > >> > > > > > >> > You can try out binary to base64 using fluffy.jpg (shipped with > > > > >> > the project) as your In file. > > > > >> > > > > > >> > To test round-trip (so start with a binary, encode it to base64, > > > > >> > then decode the base64 data to make an identical binary)... > > > > >> > enter fluffy.jpg in the In textbox, blank the Out textbox, hit > > > > >> > Encode. In the lower textarea Select All, Copy... then in the > > > > >> > upper textarea Paste. Now clear the In textbox and enter > > > > >> > coffee.jpg in the Out textbox. Hit Decode. You *should* find a > > > > >> > new file in your Base64 project directory called coffee.jpg, and > > > > >> > it *should* be identical to the fluffy.jpg shipped with the > > > > >> > project. > > > > >> > > > > > >> > I'm not convinced that my completely untuned, horribly > > > > >> > inefficient algorithms in Gambas will be the best way to go if > > > > >> > speed is of the essence or if the pdf files are gonna be more > > > > >> > than a few 100 kbs... you might find it quicker/more robust to > > > > >> > call out to a built-in function in java/python/some other > > > > >> > program... > > > > >> > > > > > >> > Anyways, all the (commented) source is there for you to > > > > >> > see/fiddle with...so have fun, but if you have any questions, > > > > >> > just give me a shout. > > > > >> > > > > > >> > Regards, > > > > >> > Caveat > > > > >> > > > > > >> > On Thu, 2011-04-28 at 07:38 +1000, Ian Haywood wrote: > > > > >> >> No, HL7 parsing is fine, let me restate the question: does > > > > >> >> gambas have an inbuilt function to > > > > >> >> decode base 64 data? > > > > >> >> > > > > >> >> Ian > > > > >> >> > > > > >> >> On Thu, Apr 28, 2011 at 3:48 AM, nando > > > > >> >> <nand...@nothingsimple.com> > > > > > > wrote: > > > > >> >> > Health Level 7 file format > > > > >> >> > To start visit: > > > > >> >> > http://en.wikipedia.org/wiki/Health_Level_7 > > > > >> >> > > > > > >> >> > > > > > >> >> > ---------- Original Message ----------- > > > > >> >> > From: richard terry <rte...@pacific.net.au> > > > > >> >> > To: mailing list for gambas users > > > > >> >> > <gambas-user@lists.sourceforge.net> Sent: Wed, 27 Apr 2011 > > > > >> >> > 18:13:57 +1000 > > > > >> >> > Subject: [Gambas-user] Base 64 question > > > > >> >> > > > > > >> >> >> Hi list, > > > > >> >> >> > > > > >> >> >> I've a HL7 file apparently with embedded base64 data (as a > > > > >> >> >> pdf) I wondered if there iwas any way to de-encode the data, > > > > >> >> >> if that is the right syntax. > > > > >> >> >> > > > > >> >> >> Regards > > > > >> >> >> > > > > >> >> >> Richard > > > > >> >> >> > > > > >> >> >> ------------------------------------------------------------ > > > > >> >> >>---- -- --- --------- WhatsUp Gold - Download Free Network > > > > >> >> >> Management Software The most intuitive, comprehensive, and > > > > >> >> >> cost-effective network management toolset available today. > > > > >> >> >> Delivers lowest initial acquisition cost and overall TCO of > > > > >> >> >> any competing solution. http://p.sf.net/sfu/whatsupgold-sd > > > > >> >> >> _______________________________________________ > > > > >> >> >> Gambas-user mailing list > > > > >> >> >> Gambas-user@lists.sourceforge.net > > > > >> >> >> https://lists.sourceforge.net/lists/listinfo/gambas-user > > > > >> >> > > > > > >> >> > ------- End of Original Message ------- > > > > >> >> > > > > > >> >> > > > > > >> >> > ------------------------------------------------------------- > > > > >> >> >---- -- --- -------- WhatsUp Gold - Download Free Network > > > > >> >> > Management Software The most intuitive, comprehensive, and > > > > >> >> > cost-effective network management toolset available today. > > > > >> >> > Delivers lowest initial acquisition cost and overall TCO of > > > > >> >> > any competing solution. http://p.sf.net/sfu/whatsupgold-sd > > > > >> >> > _______________________________________________ > > > > >> >> > Gambas-user mailing list > > > > >> >> > Gambas-user@lists.sourceforge.net > > > > >> >> > https://lists.sourceforge.net/lists/listinfo/gambas-user > > > > >> >> > > > > >> >> --------------------------------------------------------------- > > > > >> >>---- -- --- ------ WhatsUp Gold - Download Free Network > > > > >> >> Management Software The most intuitive, comprehensive, and > > > > >> >> cost-effective network management toolset available today. > > > > >> >> Delivers lowest initial acquisition cost and overall TCO of any > > > > >> >> competing solution. http://p.sf.net/sfu/whatsupgold-sd > > > > >> >> _______________________________________________ > > > > >> >> Gambas-user mailing list > > > > >> >> Gambas-user@lists.sourceforge.net > > > > >> >> https://lists.sourceforge.net/lists/listinfo/gambas-user > > > > >> > > > > > >> > ---------------------------------------------------------------- > > > > >> >---- -- --- ----- WhatsUp Gold - Download Free Network Management > > > > >> > Software The most intuitive, comprehensive, and cost-effective > > > > >> > network management toolset available today. Delivers lowest > > > > >> > initial acquisition cost and overall TCO of any competing > > > > >> > solution. http://p.sf.net/sfu/whatsupgold-sd > > > > >> > _______________________________________________ > > > > >> > Gambas-user mailing list > > > > >> > Gambas-user@lists.sourceforge.net > > > > >> > https://lists.sourceforge.net/lists/listinfo/gambas-user > > > > > > > > > > ------------------------------------------------------------------- > > > > >---- -- ----- WhatsUp Gold - Download Free Network Management > > > > > Software The most intuitive, comprehensive, and cost-effective > > > > > network management toolset available today. Delivers lowest > > > > > initial acquisition cost and overall TCO of any competing solution. > > > > > http://p.sf.net/sfu/whatsupgold-sd > > > > > _______________________________________________ > > > > > Gambas-user mailing list > > > > > Gambas-user@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/gambas-user > > > > > > ----------------------------------------------------------------------- > > >---- --- WhatsUp Gold - Download Free Network Management Software > > > The most intuitive, comprehensive, and cost-effective network > > > management toolset available today. Delivers lowest initial > > > acquisition cost and overall TCO of any competing solution. > > > http://p.sf.net/sfu/whatsupgold-sd > > > _______________________________________________ > > > Gambas-user mailing list > > > Gambas-user@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/gambas-user > > > > ------------------------------------------------------------------------- > >----- WhatsUp Gold - Download Free Network Management Software > > The most intuitive, comprehensive, and cost-effective network > > management toolset available today. Delivers lowest initial > > acquisition cost and overall TCO of any competing solution. > > http://p.sf.net/sfu/whatsupgold-sd > > _______________________________________________ > > Gambas-user mailing list > > Gambas-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/gambas-user > > --------------------------------------------------------------------------- > --- WhatsUp Gold - Download Free Network Management Software > The most intuitive, comprehensive, and cost-effective network > management toolset available today. Delivers lowest initial > acquisition cost and overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > _______________________________________________ > Gambas-user mailing list > Gambas-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gambas-user > ------------------------------------------------------------------------------ WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user