티스토리 뷰
발생일: 2013.04.19
문제:
어떤 면접에 base64 인코더를 구현하라는 문제가 나왔다는 얘기를 듣고,
문제:
어떤 면접에 base64 인코더를 구현하라는 문제가 나왔다는 얘기를 듣고,
자바스크립트로 구현하는 걸 찾아봤다.
해결책:
아래 링크의 우리말 설명 굉장히 좋다.
코드 예제. 아주 좋다.
구현해본 코드
function b64(s) {
var key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
var i = 0, len = s.length,
c1, c2, c3,
e1, e2, e3, e4,
result = [];
while (i < len) {
c1 = s.charCodeAt(i++);
c2 = s.charCodeAt(i++);
c3 = s.charCodeAt(i++);
e1 = c1 >> 2;
e2 = ((c1 & 3) << 4) | (c2 >> 4);
e3 = ((c2 & 15) << 2) | (c3 >> 6);
e4 = c3 & 63;
if (isNaN(c2)) {
e3 = e4 = 64;
} else if (isNaN(c3)) {
e4 = 64;
}
result.push(e1, e2, e3, e4);
}
return result.map(function (e) { return key.charAt(e); }).join('');
}
console.log(b64('abce'));
반응형
댓글
공지사항