client/plugins/vcard/js/vcardjs-0.3.js
function(str){
            str = (str || "").toString();
            str = str.replace(/\=(?:\r?\n|$)/g, "");
            var str2 = "";
            for(var i=0, len = str.length; i<len; i++){
                chr = str.charAt(i);
                if(chr == "=" && (hex = str.substr(i+1, 2)) && /[\da-fA-F]{2}/.test(hex)){
                    str2 += String.fromCharCode(parseInt(hex,16));
                    i+=2;
                    continue;
                }
                str2 += chr;
            }
            return str2;
        }
function(str){
            str = (str || "").toString();
            str = str.replace(/\=(?:\r?\n|$)/g, "");
            var str2 = "";
            for(var i=0, len = str.length; i<len; i++){
                chr = str.charAt(i);
                if(chr == "=" && (hex = str.substr(i+1, 2)) && /[\da-fA-F]{2}/.test(hex)){
                    str2 += String.fromCharCode(parseInt(hex,16));
                    i+=2;
                    continue;
                }
                str2 += chr;
            }
            return str2;
        }
function ( str ) { str = ( str || "" ) . toString ( ) ; str = str . replace ( / \=(?:\r?\n|$) / g , "" ) ; var str2 = "" ; for ( var i = 0 , len = str . length ; i < len ; i ++ ) { chr = str . charAt ( i ) ; if ( chr == "=" && ( hex = str . substr ( i + 1 , 2 ) ) && / [\da-fA-F]{2} / . test ( hex ) ) { str2 += String . fromCharCode ( parseInt ( hex , 16 ) ) ; i += 2 ; continue ; } str2 += chr ; } return str2 ; }
Quoted Printable Parser

Parses quoted-printable strings, which sometimes appear in
vCard 2.1 files (usually the address field)

Code adapted from:
https://github.com/andris9/mimelib
Quoted Printable Parser