2011/4/28 Caveat <gam...@caveat.demon.co.uk>: > xml.Decode...pfft! Funny, I never would have thought to look in gb.xml > for a base64 decoder!
true ... i've found it in the past when i've made a little program to extract mail attachement in old mail directories > 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 > > 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 > -- Fabien Bodard ------------------------------------------------------------------------------ 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