base64 -1 : base64 응용 -

연습 2015. 10. 4. 13:18

 base64는 파일의 구성을 256가지가 아닌 64가지로 표현하는 방법이다.


 그래서 파일의 내용은 그대로 남아있다는 특징을 가진다.


 Decoder만 존재한다면, 해당 파일을 어떻게든 얻을 수 있다는 뜻이다.(깨져있을 수 있다는 점은 제외)


 예을 들어서 이미지 파일을 표현하고자 한다고 하자.


 보통 html로 이미지를 불러온다면, 다음같은 소스를 사용한다.


 


 <img src="이미지 파일 경로" />


 여기서 src을 '이미지 파일 경로'로 처리하는게 아니라.


 base64로 얻어진 파일 경로를 사용한다.(Data URI)


 그렇게하면, 서버에 파일데이터를 데이터베이스 문서파일로 넣을 수 있게 된다.


 예제:

 이미지파일을 base64로 변경시킨 값.


 base 64:

R0lGODlhYAATAPcAAAAAAP///0BDSj9CSj5BST1ASDw/Rjo9RTg7Qjg6Qjc6Qk9CQ0w/QUtAQkU9

QE1ESEM8QElCRkdCRkVDSTs7Qbm5vMDAw+Pj5dPT1c7O0Pr6+/j4+fPz9PHx8u/v8O3t7ujo6ebm

5+Hh4t3d3mBhaHV2fISFioOEiZCRlouMkYqLkIiJjkVHT0dJUUZIUExOVo+QlK+wtKanq6SlqaGi

pp6fo1FTWlZYX1tdZF5gZ11fZlxeZWRmbTk8RDs+Rjw/R0NGTkJFTUlMVEhLU1haYFtdY2VnbW9x

d2xudGpscnZ4fnJ0eoGDicXGycLDxsHCxby9wLq7vrm6vbe4u7a3urO0t7Gyta+ws6qrrqiprGdp

bnByd3FzeHp8gYuNkoiKj4eJjoWHjISGiz5BSEVIT0dKUU5RWE1QV1FUW09SWVJVXFhbYldaYUFE

SkRHTUxPVUpNU05RV1NWXF9iaF5hZ2Jla2hrcWtudIGDh3+BhZGTl4yOkp+hpZianpWXm9fY2tXW

2NPU1s/Q0s7P0c3O0MnKzMjJy8fIysTFx7/AwlteY2VobW5xdpqcn6yusaaoq+rr7OPk5eHi49/g

4drb3NHS08/Q0fP09Orr6+jp6f/9/P7y7e9kM+9rPfF3TPKCW/WggutTIOtVIexVIuxWI+xXJOxY

JehWJdxRI+1YJt9UJdZRJO1bKe5cKu1cK9JRJs1PJu5eLepcLM5RJ+9fLtVVKe9gL+RcLudfMO1i

MtdYLu9kNNpbMdxdMshULtNZMbZMKsNTLu9nOdZcM7BMK+9pO/BsP7VSMrBPMe9vRPBxRr1YN6BL

MPB0SrdWOPF/WZhPOPGAWvKDXfKIZPOLaPOMafOWdvWjh/WkiPewmPe2oPi+qvjEsvrLu/rNvvzk

3Pzm351IL6lUOqNROJZKM4hGM49PPYNIOIVLOv739X1ENYdOP3VDN29DOHlKP3dMQf/7+mRFP2ZJ

RF0/O19DQFE+PVdFRf39/fj4+Pb29vT09O/v7////wAAAAAAAAAAACH5BAEAAPwALAAAAABgABMA

AAj/AAUIHEiwoMGDCBMqXMiwYcEBECNClCdumC1buJatmyCxo8ePIEOKHEmy5ANnF1Om7PWupMuX

MGNGJECTpj1etHLq3EnLXM2fQIMGFWLEjNCjBF4YKYq0qdMCUAtI+BWrqtWrVt1FhcokgNevAWYU

yOR1DtQ1T75OMhsD7FclUHkYAkvoSNQhbjcgwlFAkFcZUI941Tdk69ZxVql1iuXpUyxh1DhVvRVh

a1e3YceWLXDGg1sNa9pihvtFA+YAfaDixaxvTQmvkAYUoPLXsIHbC2S1agUqADhj8AJI8xZg2+5W

0G7fXmTFiukAUax0MQDCKx0DfryG0CPJKxY8VhJ5/83XnE6Se14/XMES6WseA2W8arAy4msUA5S8

ciGDL4CGOMoFaAA6x1WTTje7gLOJMtlocs1xugh4mz5eyaFcdQFch4VXVxiARHN73EaHVyAoF4hX

lpBxWxtQeIXJGPEFoM9tSHjVgQF4eFVBGF5ZIaFyx7Ai5JBEFinkAhJSGICFt2F4XRde3ePIGwKO

GECJBtgQJREBwqFkEjHOaMAY8o0ZQgD4nHgPlz8a4IuRrnyzSTJGshJPkhVeaN1tVXyFTxZUikji

bYx4NYKEaQWwQphZ0uBVJbftARYUP/pgaTCpZKppMcFFo+mn9Fgqqg+XeKWGqBjmIOodJ3oViQ2W

5v9AoqVbGDqqpU14BUYLp93DiKVBeOZVHbdaesCxyHyqaTPPKKtpA8dGe0CpAaARLYY6SHvAESJ4

VcWxOpB4bBpRpiEtEMLa4QJmgywhbQ1eDaLtvOeYYu+9rGjDTS733lvLvNN6Ze2x2B5QiVdiHKCE

V4CAK+6xgHh1CBDH/tBnAJj8sG4A+UQcAAraeuGVFAAf0MPJDJxSysorC+PVNCyzTM7JNJ9MrQ00

Y7hDD1N4JcIXGHjlxMk7kEgzEugFcMEjfPzxlQk9sODVJWzk418SNacwcs01I+A1AsyQIvbY1mDD

ythiq+LA12xz4FUaX2OoCAJaJA3WFl4rQiLbMNij/dU9jXjthlccILCCV/uc8bUKOrLNdgKQJwDB

LKNUbvnllrMT+eYJuB2AGZFjWATkJXSL+AmRF0Ei51oUYncGJEQ+eAAcQG6BVxgYADnjAVTA+e+Q

1/OKKMQXb7wo5QCv/PI3kBD78sDr8Dz01CvvOAIOEBPK9txvv0o714cv/vjkl2/++V4roP766s8T

DizbowKMOhSwb//9+Oev//78949/QAA7


 이렇게 되어있을걸 그대로 html에 사용하면, 안된다.


 앞에 어떤 데이터인지 제대로 명시해주어야된다.


 현재 Tistory 로고는 gif구조이다.


 그래서 data:image/gif;을 앞에 붙여줘야된다.


 그리고, base64로 구성된것이다. 라고 알려 줘야된다.


 처음 부분은 이렇게 된다.

 data:image/gif;base64,R0lGODlhYAATAPcAAAAAA...


 적용하면, 다음과 같다.

 


 이걸 응용하여, 데이터를 주고 받거나 다운 받을 수도 있다.

 예제


 이렇게하여 데이터를 인터넷에서 다운로드, 저장, 공유를 할 수 있게 된다.


 단, 안전성에서 완벽하다. 라고 할 수는 없을 것이다.(전송 중 1bit가 오류났을 경우, 정정할 수 없으며, 오류를 탐지할 수도 없다.)


 이것만 제외하면, 파일을 글로 저장하여 쓸 수 있게 된다.

 인쇄물을 읽어서 컴퓨터에게 전송 할 수 있는 기술이 있다면, base64로 만든 인쇄물을 이용해서 보관 할 수도 있을 것이다.(그럴 필요성은 없겠지만...)

'연습' 카테고리의 다른 글

Google Brotli - Brotli.exe -  (0) 2015.10.06
- 잡소리 - 단일 처리와 병렬 처리  (0) 2015.10.05
base64 - 0 : 이론 -  (0) 2015.10.03
OpenCL 프로그래밍 공부 -시작-  (0) 2015.10.02
CSS3 -3D Flip Animation-  (0) 2015.09.30
Posted by JunkMam
,