Bookmarklets

These powerful bookmarklets will help seekers and searchers to defeat some barriers

Subscribe to RSS feed

Base85 or Ascii85 Javascript Bookmarklets

, , ,

Base85 or Ascii85 Bookmarklets
see: http://en.wikipedia.org/wiki/Ascii85

heres my bookmarklets encoded in base64... ironic don't you think ;-)
Anyway the code used is essentially copied, the only difficult part was debugging an integer operation...
if you look at the b85 encoding code you'll find a "n%parseint(85)" where normally "n%85" would be sufficient.
I suppose you could declare another var but who cares.
Due to a problem of handling &# codes (I dont know how to do it, maybe someone can help?) I had to resort to using a pop-up window for the decode_ascii85 bookmarklet, so it won't work if you've got your pop-ups switched off... duhh! ;-)
Have fun!

heres the decode_Ascii85 bookmarklet source:

amF2YXNjcmlwdDooZnVuY3Rpb24oKXtqYXZhc2NyaXB0OmZ1bmN0aW9uIGRlY29kZShzdHIpe2lu
cHV0PXN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoJzx+JywnZ2knKSwnJyk7aW5wdXQ9aW5wdXQucmVw
bGFjZShuZXcgUmVnRXhwKCd+PicsJ2dpJyksJycpO2lucHV0PWlucHV0LnJlcGxhY2UoL1xzL2cs
JycpO3ZhciBuPWlucHV0Lmxlbmd0aCxyPVtdLGI9WzAsMCwwLDAsMF0saSxqLHQseCx5LGQ7Zm9y
KGk9MDtpPG47KytpKXtpZihpbnB1dC5jaGFyQXQoaSk9PSJ6Iil7ci5wdXNoKDAsMCwwLDApO2Nv
bnRpbnVlO31mb3Ioaj0wO2o8NTsrK2ope2Jbal09aW5wdXQuY2hhckNvZGVBdChpK2opLTMzO31k
PW4taTtpZihkPDUpe2ZvcihqPWQ7ajw0O2JbKytqXT0wKTtiW2RdPTg1O310PSgoKGJbMF0qODUr
YlsxXSkqODUrYlsyXSkqODUrYlszXSkqODUrYls0XTt4PXQmMjU1O3Q+Pj49ODt5PXQmMjU1O3Q+
Pj49ODtyLnB1c2godD4+PjgsdCYyNTUseSx4KTtmb3Ioaj1kO2o8NTsrK2osci5wb3AoKSk7aSs9
NDt9bXNnV2luZG93PXdpbmRvdy5vcGVuKCIiLCIiLCJsb2NhdGlvbj15ZXMsc3RhdHVzPXllcyxt
ZW51YmFyPXllcyxzY3JvbGxiYXJzPXllcyxyZXNpemFibGU9eWVzLHdpZHRoPTMwMCxoZWlnaHQ9
NTAiKTttc2dXaW5kb3cuZG9jdW1lbnQud3JpdGUoJyYjJytyLmpvaW4oJyYjJykpO307dmFyIHN0
cj1kb2N1bWVudC5zZWxlY3Rpb24/ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCkudGV4
dDp3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKTtpZighc3RyKXN0cj1wcm9tcHQoImlu
cHV0IGFzY2lpODUgc3RyaW5nIHZhbHVlIHlvdSB3YW50IHRvIGRlY29kZToiLCc8K291ZStER180
RmBcYT9GIScpO2lmKHN0ciE9bnVsbClkZWNvZGUoc3RyKTt9KSgp

heres the encode_Ascii85 bookmarklet source code:

amF2YXNjcmlwdDooZnVuY3Rpb24oKXtmdW5jdGlvbiBzdHIyYXNjaWkoc3RyKXt2YXIgYXNjaWlh
cnk9W107az0wO2ZvcihrPTA7azw9c3RyLmxlbmd0aC0xO2srKyl7YXNjaWlhcnkucHVzaChzdHIu
Y2hhckNvZGVBdChrKSk7fXJldHVybiBhc2NpaWFyeTt9ZnVuY3Rpb24gY291bnQoaW5wdXQsbGVu
Z3RoLHJlc3VsdCl7dmFyIGksaixuLGI9WzAsMCwwLDAsMF07Zm9yKGk9MDtpPGxlbmd0aDtpKz00
KXtuPSgoaW5wdXRbaV0qMjU2K2lucHV0W2krMV0pKjI1NitpbnB1dFtpKzJdKSoyNTYraW5wdXRb
aSszXTtpZighbil7cmVzdWx0LnB1c2goInoiKTt9ZWxzZXtmb3Ioaj0wO2o8NTtiW2orK109biVw
YXJzZUludCg4NSkrMzMsbj1NYXRoLmZsb29yKG4vODUpKTt9cmVzdWx0LnB1c2goU3RyaW5nLmZy
b21DaGFyQ29kZShiWzRdLGJbM10sYlsyXSxiWzFdLGJbMF0pKTt9fWZ1bmN0aW9uIGVuY29kZShp
bnB1dCl7dmFyIHJlc3VsdD1bXTt2YXIgcmVtaW5kZXI9aW5wdXQubGVuZ3RoJTQ7dmFyIGxlbmd0
aD1pbnB1dC5sZW5ndGgtcmVtaW5kZXI7Y291bnQoaW5wdXQsbGVuZ3RoLHJlc3VsdCk7aWYocmVt
aW5kZXIpe3ZhciB0PWlucHV0LnNsaWNlKGxlbmd0aCk7d2hpbGUodC5sZW5ndGg8NCl7dC5wdXNo
KDApO31jb3VudCh0LDQscmVzdWx0KTt2YXIgeD1yZXN1bHQucG9wKCk7aWYoeD09InoiKXt4PSIh
ISEhISI7fXJlc3VsdC5wdXNoKHguc3Vic3RyKDAscmVtaW5kZXIrMSkpO31yZXR1cm4gcmVzdWx0
LmpvaW4oIiIpO312YXIgc3RyPWRvY3VtZW50LnNlbGVjdGlvbj9kb2N1bWVudC5zZWxlY3Rpb24u
Y3JlYXRlUmFuZ2UoKS50ZXh0OndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpO2lmKCFz
dHIpc3RyPXByb21wdCgiaW5wdXQgYXNjaWkgc3RyaW5nIHZhbHVlIHlvdSB3YW50IHRvIEVuY29k
ZSB0byBBc2NpaTg1OiIsJ3Bhc3N3b3JkJyk7aWYoc3RyIT1udWxsKWFsZXJ0KGVuY29kZShzdHIy
YXNjaWkoc3RyKSkpO30pKCk=

Heres a copy of some code to test:

<~9jqo^BlbD-BleB1DJ+*+F(f,q/0JhKF<GL>Cj@.4Gp$d7F!,L7@<6@)/0JDEF<G%<+EV:2F!,
O<DJ+*.@<*K0@<6L(Df-\0Ec5e;DffZ(EZee.Bl.9pF"AGXBPCsi+DGm>@3BB/F*&OCAfu2/AKY
i(DIb:@FD,*)+C]U=@3BN#EcYf8ATD3s@q?d$AftVqCh[NqF<G:8+EV:.+Cf>-FD5W8ARlolDIa
l(DId<j@<?3r@:F%a+D58'ATD4$Bl@l3De:,-DJs`8ARoFb/0JMK@qB4^F!,R<AKZ&-DfTqBG%G
>uD.RTpAKYo'+CT/5+Cei#DII?(E,9)oF*2M7/c~>

I'm using opera : Version 11.01
Build : 1190
Platform : Win32
System : Windows XP

and it seems to work ok... copyleft

google primes?

You'll need to decode this and save it with a filename.html extension... I havn't got time for messing around with this blogs security settings... sorry!


Hmmmn so first you'll need to make a bookmarklet using this code:
call the bookmarklet "base64 select and decode into a window" ... I think you need to have popups active though... otherwise just change the window.open part to a prompt...



javascript: var input=document.selection?document.selection.createRange().text:window.getSelection().toString(); if(!input) input=prompt("input text you want to convert:",""); if(input!=null) var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var output=""; var chr1,chr2,chr3,enc1,enc2,enc3,enc; var i=0; input=input.replace(/[^A-Za-z0-9\+\/\=]/g,""); do{ enc1=keyStr.indexOf(input.charAt(i++)); enc2=keyStr.indexOf(input.charAt(i++)); enc3=keyStr.indexOf(input.charAt(i++)); enc4=keyStr.indexOf(input.charAt(i++)); chr1=(enc1<<2)|(enc2>>4); chr2=((enc2&15)<<4)|(enc3>>2); chr3=((enc3&3)<<6)|enc4; output=output + String.fromCharCode(chr1); if(enc3!=64){ output=output+String.fromCharCode(chr2); } if(enc4!=64){ output=output+String.fromCharCode(chr3); } } while(i<input.length); void 0; msgWindow=window.open("","","location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=547,height=442"); msgWindow.document.write(output); return;


heres the base64 encoded page data, once you've made the above bookmarklet, select the base64 code below and hit your new bookmarklet!:


Read more...