Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Converting Active Directory's Base64-Encoded UTF8 data to ISO-8859-1 inline

by bronto (Priest)
on Jan 27, 2005 at 11:55 UTC ( #425532=CUFP: print w/ replies, xml ) Need Help??

That's exactly it: I needed top retrieve some CNs from an Active Directory server, but one of them was encoded in Base64, since it contained an accented character. To decode it inline I quickly wrote this:

perl -MEncode -MMIME::Base64 -lpe 'Encode::from_to($_=decode_base64($_),"utf8","iso-8859-1")'

Just type in the string and press enter, it will return the decoded string in ISO-8859-1 format.

One could go further and write something just a bit more complicated:

perl -MEncode -MMIME::Base64 -lpe 'if (/::/) { ($attr,$_)=split ; Encode::from_to($_=decode_base64($_),"utf8","iso-8859-1") ; $_="$attr: $_" }'

that should work in the trivial cases (non-multiline-split attribute values). I used it this way:

ldapsearch -x -h 10.11.12.13 -p 3268 -b dc=ourdomain,dc=com -D a_dn_al +lowed_to_search_and -w its_password '(manager=the_dn_of_our_boss)' cn + | perl -MEncode -MMIME::Base64 -lpe 'if (/::/) { ($attr,$_)=split ; +Encode::from_to($_=decode_base64($_),"utf8","iso-8859-1") ; $_="$attr +: $_" }'

Ciao!
--bronto


In theory, there is no difference between theory and practice. In practice, there is.

Comment on Converting Active Directory's Base64-Encoded UTF8 data to ISO-8859-1 inline
Select or Download Code
Re: Converting Active Directory's Base64-Encoded UTF8 data to ISO-8859-1 inline
by Anonymous Monk on Jan 08, 2009 at 17:03 UTC
    Hey bronto, Very good ! I was in a migration from Netware Server, then my containers come with accent. So lost much time ... Rename my "accented" containers and Go! Thanks for your collaboration
      My pleasure :) It's so sad I have so little time to hang around the monastery now... It's good to know that there are some of my old snippets that are still useful to someone!

      Ciao!
      --bronto


      In theory, there is no difference between theory and practice. In practice, there is.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: CUFP [id://425532]
Approved by muba
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (10)
As of 2015-07-07 10:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (88 votes), past polls