전체 글89 맥에서 받은 파일 이름이 ㅎㅏㄴㄱㅡㄹ 처럼 벌어져 보일 때 동료가 맥에서 압축해 보낸 자료를 윈도우에서 풀었더니, 파일 이름의 자음과 모음이 ㅂㅗㄱㅗㅅㅓ.txt처럼 하나씩 떨어져 보인 적이 있으실 겁니다. 파일을 열면 내용은 멀쩡한데 이름만 이상합니다.같은 폴더에 이름이 똑같아 보이는 파일이 두 개 생기기도 합니다. 하나를 지우면 다른 하나가 남고, 검색창에 이름을 쳐도 안 잡힙니다. 왜 이런 일이 생기는지 바이트를 직접 꺼내 확인했습니다. 이름이 깨진 게 아니라 쪼개져 있습니다한글 한 글자를 컴퓨터에 담는 방법은 두 가지입니다. 하나는 완성된 글자 그대로 담는 방식이고, 다른 하나는 초성, 중성, 종성을 따로 담아 두었다가 화면에 그릴 때 합쳐 보여 주는 방식입니다. 앞의 것을 NFC, 뒤의 것을 NFD라고 부릅니다.'한' 한 글자를 두 방식으로 각각 저장해 .. 2026. 9. 9. 중복 제거를 눌렀는데 중복이 그대로 남아 있는 이유 명단을 정리하려고 엑셀에서 중복된 항목 제거를 눌렀는데, 같은 이름이 여전히 두세 줄씩 남아 있는 경우가 있습니다. 눈으로 보면 글자가 완전히 똑같은데도 그렇습니다.엑셀이 고장 난 것이 아닙니다. 이름 끝에 보이지 않는 글자가 붙어 있어서 엑셀은 서로 다른 값으로 보고 있는 것입니다. 같은 사람 3명을 15행으로 적은 명단을 만들어 엑셀에서 실제로 중복 제거를 눌러 봤습니다. 같아 보이는 값이 사실은 네 가지입니다웹 페이지나 다른 문서에서 복사해 붙여 넣은 이름에는 눈에 안 보이는 공백이 자주 딸려 옵니다. 종류도 하나가 아닙니다. 같은 '김민수'를 네 가지로 적어 두고 실제 코드를 꺼내 봤습니다.화면에 보이는 값실제 코드끝에 붙은 것김민수U+AE40 U+BBFC U+C218없음김민수… U+0020일반 .. 2026. 9. 8. PDF에서 검은 칠로 가린 글자, 복사하면 그대로 나옵니다 계약서나 신청서를 보내기 전에 주민등록번호나 계좌번호 위에 검은 사각형을 덮어 가려 본 적 있으실 겁니다. 화면에서 안 보이니 가려졌다고 생각하기 쉽습니다.그런데 그 부분을 마우스로 드래그해 다른 곳에 붙여 넣으면 원래 글자가 그대로 나옵니다. 사각형은 글자를 지운 것이 아니라 글자 위에 하나 더 그려진 도형이기 때문입니다. 정말 그런지 같은 PDF를 세 가지 방법으로 가려 놓고 각각 글자를 꺼내 봤습니다. 덮은 파일에서 번호가 그대로 나왔습니다이름, 번호, 전화번호 세 줄이 든 PDF를 만들고, 번호 줄 위에만 검은 사각형을 그려 덮었습니다. 그리고 두 파일에서 글자를 꺼내 비교했습니다. 측정 환경은 윈도우 11, 파이썬 3.12.10, reportlab 5.0.0, pypdf 6.14.2입니다.. 2026. 9. 7. 한 장짜리 한글 문서를 PDF로 저장했더니 45KB, 용량의 71%는 폰트였습니다 워드에서 만든 문서를 PDF로 내보냈는데 생각보다 파일이 크게 나오는 경우가 있습니다. 이미지도 없고 페이지도 한 장인데 수십 KB에서 수백 KB가 나오면 어디에서 그 용량이 나온 것인지 감이 잡히지 않습니다.같은 분량의 영문 문서와 한글 문서를 각각 PDF로 내보내 비교하고, 그 PDF 안을 파이썬으로 열어 무엇이 자리를 차지하는지 바이트 단위로 확인해 봤습니다. 범인은 본문이 아니라 문서에 쓰인 글꼴이었습니다. PDF에는 글자만 담기는 게 아닙니다PDF의 목적은 어느 컴퓨터에서 열어도 같은 모양으로 보이는 것입니다. 그런데 받는 사람의 PC에 그 글꼴이 없으면 모양이 무너집니다. 그래서 PDF는 문서에 쓰인 글꼴을 파일 안에 통째로 넣어 두는데, 이것을 폰트 임베딩이라고 부릅니다.영문 문서라면 이 .. 2026. 9. 6. 이력서를 보냈더니 두 장이 됐다는 말을 들었다면 글꼴부터 확인하세요 같은 파일인데 보낸 사람 화면에서는 한 장, 받는 사람 화면에서는 두 장인 일이 생깁니다. 내용을 더 쓴 것도 아니고 여백을 건드린 것도 아닌데 마지막 몇 줄이 다음 장으로 넘어가 있습니다.보통은 글자 폭이 달라져서 줄이 밀린 탓으로 설명합니다. 그래서 같은 이력서를 글꼴만 바꿔 가며 폭과 쪽 수를 실제로 재 봤습니다. 글자 폭은 거의 움직이지 않았고, 쪽 수를 밀어낸 값은 따로 있었습니다. 없는 글꼴은 오류가 아니라 다른 글꼴로 조용히 대체됩니다문서 파일 안에는 글꼴 이름만 적혀 있습니다. 글꼴 파일 자체가 들어가는 것은 아니라서, 그 이름의 글꼴이 없는 PC에서 열면 프로그램이 알아서 비슷한 글꼴을 골라 대신 그립니다. 경고창이 뜨지 않기 때문에 받는 사람은 바뀐 줄도 모릅니다.그러면 실제로 무엇.. 2026. 9. 4. 이 폰트, PDF에 끼워 넣어 남에게 보내도 될까요? 코드로 확인하는 법 발표 자료를 PDF로 내보내거나 인쇄소에 파일을 넘길 때, "폰트가 안 깨지게 끼워 넣기(임베딩)" 옵션을 켜는 경우가 많습니다. 그런데 이 폰트를 그렇게 문서에 박아서 남에게 넘겨도 괜찮은 폰트인지, 다들 켜니까 켜는 분이 대부분일 겁니다.사실 폰트 파일 안에는 이 질문에 대한 답이 미리 적혀 있습니다. 폰트 파일 하나에 얼마나 많은 정보가 담겨 있는지는 용량을 뜯어봤던 글에서도 다룬 적이 있는데, 이번엔 용량이 아니라 이 임베딩 허용 값을 윈도우에 이미 깔려 있는 폰트 몇 개에서 직접 읽어 봤습니다. fsType이라는 이름의 스위치OpenType과 TrueType 폰트 규격에는 OS/2라는 테이블이 있고, 그 안에 fsType이라는 2바이트짜리 값이 들어 있습니다. 폰트를 만든 쪽이 "이 폰트를 문.. 2026. 9. 3. 한글 문서에 사진을 작게 줄여 넣었는데 용량이 그대로인 이유 보고서에 사진 몇 장을 넣고 크기를 작게 조절했는데도 파일이 400KB를 넘어갑니다. 화면에서는 손톱만 하게 줄여 놨으니 용량도 줄었으려니 하지만, 저장하고 보면 그대로입니다.한글이 사진을 어떻게 담는지 확인해 봤습니다. 4000x3000 사진 한 장을 표시 크기만 바꿔 가며 넣고 저장한 뒤, 문서 안에 실제로 들어간 그림을 꺼내 픽셀과 바이트를 셌습니다. 같은 작업을 워드에서도 해서 나란히 놓았습니다. 표시 크기를 줄여도 파일은 꿈쩍하지 않았습니다같은 사진을 폭 150mm, 80mm, 40mm로 각각 줄여 넣고 저장했습니다. 문서 안의 그림 자리(BinData)를 열어 보니 결과가 한결같았습니다.넣은 방법문서 안 사진사진 픽셀폭 지정 없이377,822 B4000x3000폭 150mm로377,822 .. 2026. 9. 2. hwp와 hwpx, 같은 문서를 두 형식으로 저장해 안을 열어 봤습니다 공문을 내려받았는데 확장자가 .hwpx라 당황하는 일이 늘었습니다. 한글에서 저장할 때도 두 형식이 나란히 뜨니, 어느 쪽을 골라야 상대가 문제없이 열지 판단이 서지 않습니다.같은 문서를 한글 2020으로 두 형식에 각각 저장한 뒤, 파일을 코드로 직접 열어 안에 무엇이 어떻게 담기는지 재 봤습니다. 이름만 다른 게 아니라 담는 방식 자체가 다른 파일이었고, 흔히 알려진 "hwpx가 더 작다"는 말은 넣은 그림이 무엇이냐에 따라 맞기도 하고 틀리기도 했습니다. 앞 몇 바이트만 봐도 다른 종류입니다파일 맨 앞에는 형식을 알리는 표식이 들어 있습니다. 두 파일의 앞부분을 그대로 찍어 보면 이렇습니다.text.hwp 앞 8바이트 : D0 CF 11 E0 A1 B1 1A E1text.hwpx 앞 4바이트.. 2026. 9. 1. PDF에 암호를 걸었는데 그냥 열립니다, 암호 칸이 두 개인 이유 PDF에 암호를 거는 화면을 열어 보면 암호를 넣는 칸이 하나가 아닙니다. 위쪽에는 문서를 열 때 쓸 암호, 아래쪽에는 권한을 바꿀 때 쓸 암호를 따로 받습니다.여기서 아래쪽 칸만 채운 채 저장하면, 나중에 그 파일은 암호를 묻지 않고 그냥 열립니다. 잘못 만든 것이 아니라 원래 그렇게 동작하는 것입니다. 같은 PDF에 두 방식을 각각 걸어 파이썬으로 열어 보며 무엇이 어떻게 다른지 확인해 봤습니다. 이름부터 역할이 다릅니다PDF 규격에는 암호가 두 종류 있습니다. 하나는 사용자 암호로, 흔히 열기 암호라고 부릅니다. 문서를 여는 자격을 확인하는 암호입니다.다른 하나는 소유자 암호입니다. 이쪽은 문서를 여는 것과는 상관이 없고, 인쇄나 복사 같은 권한을 풀 때 필요한 암호입니다. 그래서 소유자 암호만 .. 2026. 8. 31. 워드 파일을 보낼 때 같이 따라가는 것들, docx를 열어 직접 확인했습니다 이력서를 메일에 첨부하거나, 과제 파일을 제출하거나, 제안서를 거래처에 넘길 때 우리가 확인하는 것은 보통 파일 이름과 본문입니다. 그런데 워드 문서 안에는 본문과 별개로 누가 만들었고, 마지막에 누가 저장했고, 어느 회사 소속이며, 총 몇 분을 편집했는지가 따로 적혀 있습니다.이 값들이 정확히 어떤 모습으로 저장되는지, 그리고 지운다고 지웠을 때 정말 다 지워지는지를 워드로 문서를 직접 만들어 확인해 봤습니다. 결론부터 말하면 문서 속성만 비우는 방식으로는 이름이 절반쯤 남습니다. docx는 압축 파일이고, 속성은 별도 파일에 적혀 있습니다docx 파일의 확장자를 zip으로 바꿔서 압축 프로그램으로 열면 안에 들어 있는 파일 목록이 그대로 보입니다. 이번에 만든 문서 하나에는 파트, 그러니까 내부 .. 2026. 8. 31. 1.4MB 사진 한 장을 넣는 방법에 따라 워드 파일이 119KB도 되고 372KB도 됐습니다 보고서에 사진 몇 장을 넣었을 뿐인데 파일이 메일 첨부 한도에 걸릴 때가 있습니다. 그럴 때 흔히 하는 대응은 문서 안에서 사진 모서리를 끌어 작게 줄이거나, 필요 없는 부분을 잘라내는 것입니다.이 두 가지가 실제로 파일 용량을 줄이는지 궁금해서, 같은 사진 한 장을 넣는 방법만 바꿔 가며 문서를 저장하고 크기를 재 봤습니다. 하나는 효과가 있었고, 다른 하나는 전혀 없었습니다. 워드는 넣은 사진을 원본 그대로 보관하지 않습니다먼저 확인한 것은 흔한 통념이었습니다. "문서에 넣은 사진은 원본 그대로 저장된다"는 이야기인데, 실제로는 그렇지 않았습니다.4000x3000 크기에 1,453.5KB인 사진을 문서 폭에 맞춰 넣고 저장했더니, docx 안에 실제로 들어간 이미지는 359.5KB였습니다. 압축 파.. 2026. 8. 31. 같은 폰트를 WOFF와 WOFF2로 각각 바꿔봤더니, 압축 방식 차이가 이만큼 났습니다 웹사이트에 폰트를 올릴 때 확장자로 .woff와 .woff2가 나란히 보이는 경우가 있습니다. 둘 다 "웹폰트"라고만 알고 아무거나 골라 쓰기 쉬운데, 실은 안에서 쓰는 압축 알고리즘부터가 다릅니다.얼마나 차이가 나는지 직접 셋으로 나눠 재 봤습니다. 하나는 예전 글에서 13MB로 다룬 적 있는 그 맑은 고딕, 나머지 둘은 라틴 문자 위주인 Arial과 오픈소스 폰트인 Pretendard입니다. 실측 결과fontTools 4.63.0으로 세 폰트를 각각 .woff와 .woff2로 변환하고 크기를 쟀습니다. 서브셋(글자 추출)은 하지 않고 원본 글리프를 그대로 담은 상태로 비교했습니다.폰트원본(TTF/OTF)WOFFWOFF2맑은 고딕13,459,196 B7,435,272 B (55.2%)5,400,788.. 2026. 8. 31. .xls와 .xlsx, 확장자만 다른 게 아니라 안에 든 구조 자체가 다릅니다 회사 서버 어딘가에서 십 년 묵은 서식 파일을 하나 받아 왔다고 해 보겠습니다. 확장자는 .xls. 어제 내가 저장한 .xlsx와 이름만 다를 뿐 둘 다 "엑셀 파일"이라 별생각 없이 다루기 쉬운데, 막상 압축 프로그램에 넣어 보면 하나는 순순히 열리고 하나는 뻗어 버립니다.왜 그런지 궁금해서 예전에 받아 둔 .xls 샘플과 최근 저장한 .xlsx를 나란히 뜯어봤습니다. 확인해 보니 두 파일은 압축률이 조금 다른 수준이 아니라, 애초에 데이터를 담는 설계 사상 자체가 달랐습니다. 첫 8바이트만 봐도 남남입니다파일 맨 앞부분에는 이 파일이 어떤 형식인지 알려주는 고유한 바이트 값(매직 바이트)이 있습니다. 두 파일의 시작 부분을 직접 찍어 봤습니다.college.xls d0 c.. 2026. 8. 30. ZIP이 손상되었다고 뜰 때, 어디가 깨졌는지부터 확인하면 살릴 수 있습니다 메일로 받은 압축 파일을 열었더니 손상되었다는 메시지만 뜨고 안이 보이지 않습니다. 보낸 쪽에 다시 요청하는 것 말고 방법이 없어 보입니다.그런데 ZIP은 통째로 하나가 아니라 파일마다 따로 담기고 맨 끝에 목록이 붙는 구조라, 깨진 자리에 따라 살릴 수 있는 양이 완전히 달라집니다. 정상 ZIP의 바이트를 위치별로 직접 망가뜨려 증상이 어떻게 갈리는지 재현해 봤습니다. ZIP은 앞에 파일, 맨 끝에 목록입니다ZIP 안에는 파일이 하나씩 순서대로 들어갑니다. 각 파일 앞에는 이름과 크기, 검사값을 적은 짧은 머리말이 붙고, 압축된 내용이 그 뒤에 이어집니다.그리고 맨 끝에 전체 목록이 한 번 더 붙습니다. 압축 프로그램이 파일을 열자마자 안에 무엇이 들었는지 바로 보여 줄 수 있는 것은 이 목록 덕분입.. 2026. 8. 30. 발표 자료가 6MB가 됐습니다, 슬라이드를 지워도 안 줄어드는 이유는 따로 있습니다 발표 자료를 메일로 보내려는데 용량이 걸려 슬라이드를 몇 장 덜어낸 경험이 있으실 겁니다. 그런데 장수를 줄여도 파일이 별로 가벼워지지 않는 경우가 많습니다.파워포인트 파일의 용량이 무엇으로 정해지는지 조건을 바꿔 가며 저장하고 재 봤습니다. 결론부터 말하면 슬라이드 수는 거의 상관이 없었습니다. 텍스트 10장은 41KB, 사진 한 장은 683KB먼저 기준을 잡았습니다. 글자만 있는 슬라이드 10장짜리 파일은 41.1KB였습니다. 여기에 사진 한 장을 슬라이드 가득 채워 넣은 파일은 683.1KB가 됐습니다.사진 한 장이 글자 슬라이드 160장 남짓한 무게를 가진 셈입니다. 발표 자료에서 장수를 세는 것이 왜 의미가 없는지가 여기서 갈립니다. 중요한 것은 몇 장이냐가 아니라 이미지가 몇 개나 들어 있느냐.. 2026. 8. 30. 이전 1 2 3 4 5 6 다음