이 PNG 조각과 같은 바이너리 파일에 공백이 모두 포함되어 있는 이유는 무엇입니까?

이 PNG 조각과 같은 바이너리 파일에 공백이 모두 포함되어 있는 이유는 무엇입니까?

다음은 Sublime Text에서 파일을 열고 16진수 코드를 직접 보면 보이는 PNG 파일의 첫 번째 부분에 대한 스니펫입니다.

8950 4e47 0d0a 1a0a 0000 000d 4948 4452
0000 02e7 0000 0155 0806 0000 004c ed41
2b00 0000 0662 4b47 4400 ff00 ff00 ffa0
bda7 9300 0000 0774 494d 4507 d907 1209
3738 0601 8766 0000 2000 4944 4154 789c
ecbd 799c 6567 5de7 fff9 3ef7 5675 279d
a4b3 d008 1242 2288 c486 10e8 ee74 57a7
bb53 28a2 202e a8c1 0d07 d780 a8a3 8338
fc04 c601 45dc 1750 5161 1670 e437 0e71
5c90 4504 a549 77ba 7a65 0f20 8681 8140
423a 2b49 7aa9 aafb 7ce7 8fb3 dce7 3ce7

파일에서 공백을 제거하면 공간을 절약할 수 있을 것 같습니다. 이것이 PNG의 최적화 기술인지 알고 싶습니다. 아니면 내가 알지 못하는 1개의 공백으로 구분된 4개의 문자 시퀀스를 갖는 데에는 어떤 이점이나 목적이 있을 수도 있습니다.

답변1

공백이 파일에 없습니다. 당신이 보고 있는 것은 그렇지 않습니다.텍스트– 16진수 목록입니다.숫자, 숫자는 중간에 공백이 있든 없든 동일합니다. 그래서 아직은4바이트89 50 4e 47당신이 그들을 as 또는 89504e47또는 as (137, 80, 78, 71)또는 실제로 as 로 쓰든 상관없습니다 �PNG.

아마도 Sublime Text가 파일 내용이 텍스트로 제대로 표시될 수 없다는 것을 감지했기 때문에 이 현상이 나타날 것입니다. 따라서 각 바이트를 두 개의 16진수로 대체 표현을 선택합니다. (더 나은 예를 보려면 다음을 살펴보십시오.플러그인서브라임텍스트의 경우)

그것을 기억해모든파일은 바이트로 구성되며 바이트는 10진수 0~255(또는 16진수 0~FF) 사이의 숫자입니다. 텍스트 편집기임에도 불구하고일반적으로각 바이트를 문자로 표시하는 것이 유일한 방법은 아닙니다.

관련 정보