본문 바로가기

전체 글

DAT 파일이란? 삭제해도 되는 파일일까? 폴더를 정리하다 정체불명의 .dat 파일을 발견하고, 지워도 되는 건지 몰라 한참 망설이셨던 적 있으신가요.그 망설임은 현명합니다. DAT는 다른 확장자와 달리, 파일 이름만 봐서는 무엇인지 알기 어려운 묘한 형식이기 때문입니다.오늘은 DAT의 정체가 왜 모호한지, 그리고 삭제해도 되는지를 판단하는 기준을 정리하겠습니다. DAT가 정체불명인 이유DAT는 '데이터(data)'라는 이름 그대로, 정해진 형식이 없는 일반 데이터 파일입니다.여기에 함정이 있습니다. JPG는 사진, MP3는 음악처럼 대부분 확장자는 내용이 정해져 있지만, DAT는 "그냥 데이터가 들어 있다"라는 뜻일 뿐입니다. 그래서 어떤 프로그램이 만들었는지에 따라 내용이 완전히 다릅니다.그래서 DAT는 종류가 제각각한 DAT는 게임의 저장 .. 더보기
맥에서 받은 파일 이름이 ㅎㅏㄴㄱㅡㄹ 처럼 벌어져 보일 때 동료가 맥에서 압축해 보낸 자료를 윈도우에서 풀었더니, 파일 이름의 자음과 모음이 ㅂㅗㄱㅗㅅㅓ.txt처럼 하나씩 떨어져 보인 적이 있으실 겁니다. 파일을 열면 내용은 멀쩡한데 이름만 이상합니다.같은 폴더에 이름이 똑같아 보이는 파일이 두 개 생기기도 합니다. 하나를 지우면 다른 하나가 남고, 검색창에 이름을 쳐도 안 잡힙니다. 왜 이런 일이 생기는지 바이트를 직접 꺼내 확인했습니다. 이름이 깨진 게 아니라 쪼개져 있습니다한글 한 글자를 컴퓨터에 담는 방법은 두 가지입니다. 하나는 완성된 글자 그대로 담는 방식이고, 다른 하나는 초성, 중성, 종성을 따로 담아 두었다가 화면에 그릴 때 합쳐 보여 주는 방식입니다. 앞의 것을 NFC, 뒤의 것을 NFD라고 부릅니다.'한' 한 글자를 두 방식으로 각각 저장해 .. 더보기
중복 제거를 눌렀는데 중복이 그대로 남아 있는 이유 명단을 정리하려고 엑셀에서 중복된 항목 제거를 눌렀는데, 같은 이름이 여전히 두세 줄씩 남아 있는 경우가 있습니다. 눈으로 보면 글자가 완전히 똑같은데도 그렇습니다.엑셀이 고장 난 것이 아닙니다. 이름 끝에 보이지 않는 글자가 붙어 있어서 엑셀은 서로 다른 값으로 보고 있는 것입니다. 같은 사람 3명을 15행으로 적은 명단을 만들어 엑셀에서 실제로 중복 제거를 눌러 봤습니다. 같아 보이는 값이 사실은 네 가지입니다웹 페이지나 다른 문서에서 복사해 붙여 넣은 이름에는 눈에 안 보이는 공백이 자주 딸려 옵니다. 종류도 하나가 아닙니다. 같은 '김민수'를 네 가지로 적어 두고 실제 코드를 꺼내 봤습니다.화면에 보이는 값실제 코드끝에 붙은 것김민수U+AE40 U+BBFC U+C218없음김민수… U+0020일반 .. 더보기
PDF에서 검은 칠로 가린 글자, 복사하면 그대로 나옵니다 계약서나 신청서를 보내기 전에 주민등록번호나 계좌번호 위에 검은 사각형을 덮어 가려 본 적 있으실 겁니다. 화면에서 안 보이니 가려졌다고 생각하기 쉽습니다.그런데 그 부분을 마우스로 드래그해 다른 곳에 붙여 넣으면 원래 글자가 그대로 나옵니다. 사각형은 글자를 지운 것이 아니라 글자 위에 하나 더 그려진 도형이기 때문입니다. 정말 그런지 같은 PDF를 세 가지 방법으로 가려 놓고 각각 글자를 꺼내 봤습니다. 덮은 파일에서 번호가 그대로 나왔습니다이름, 번호, 전화번호 세 줄이 든 PDF를 만들고, 번호 줄 위에만 검은 사각형을 그려 덮었습니다. 그리고 두 파일에서 글자를 꺼내 비교했습니다. 측정 환경은 윈도우 11, 파이썬 3.12.10, reportlab 5.0.0, pypdf 6.14.2입니다.. 더보기
한 장짜리 한글 문서를 PDF로 저장했더니 45KB, 용량의 71%는 폰트였습니다 워드에서 만든 문서를 PDF로 내보냈는데 생각보다 파일이 크게 나오는 경우가 있습니다. 이미지도 없고 페이지도 한 장인데 수십 KB에서 수백 KB가 나오면 어디에서 그 용량이 나온 것인지 감이 잡히지 않습니다.같은 분량의 영문 문서와 한글 문서를 각각 PDF로 내보내 비교하고, 그 PDF 안을 파이썬으로 열어 무엇이 자리를 차지하는지 바이트 단위로 확인해 봤습니다. 범인은 본문이 아니라 문서에 쓰인 글꼴이었습니다. PDF에는 글자만 담기는 게 아닙니다PDF의 목적은 어느 컴퓨터에서 열어도 같은 모양으로 보이는 것입니다. 그런데 받는 사람의 PC에 그 글꼴이 없으면 모양이 무너집니다. 그래서 PDF는 문서에 쓰인 글꼴을 파일 안에 통째로 넣어 두는데, 이것을 폰트 임베딩이라고 부릅니다.영문 문서라면 이 .. 더보기
같은 표를 저장했는데 파일 크기가 다릅니다, 줄 끝에 숨은 1바이트 같은 데이터를 두 사람이 각자 CSV로 저장해 비교해 보면 크기가 미묘하게 다를 때가 있습니다. 내용은 글자 하나까지 같은데 바이트 수가 안 맞습니다.범인은 눈에 보이지 않는 자리, 줄이 끝나는 지점입니다. 줄바꿈을 표시하는 방식이 운영체제마다 달라서, 줄 하나마다 1바이트씩 차이가 쌓입니다. 같은 내용을 방식만 바꿔 저장하고 바이트를 직접 읽어 확인했습니다. 줄바꿈이 두 종류가 된 이유타자기 시절에는 종이를 한 줄 올리는 동작과 활자 위치를 맨 왼쪽으로 되돌리는 동작이 따로 있었습니다. 초기 컴퓨터는 이 두 동작을 그대로 문자로 만들었습니다. CR(맨 앞으로 되돌리기, 0D)과 LF(한 줄 내리기, 0A)입니다.이후 진영이 갈렸습니다. 윈도우는 두 개를 다 쓰고, 맥과 리눅스는 LF 하나만 씁니다... 더보기
이력서를 보냈더니 두 장이 됐다는 말을 들었다면 글꼴부터 확인하세요 같은 파일인데 보낸 사람 화면에서는 한 장, 받는 사람 화면에서는 두 장인 일이 생깁니다. 내용을 더 쓴 것도 아니고 여백을 건드린 것도 아닌데 마지막 몇 줄이 다음 장으로 넘어가 있습니다.보통은 글자 폭이 달라져서 줄이 밀린 탓으로 설명합니다. 그래서 같은 이력서를 글꼴만 바꿔 가며 폭과 쪽 수를 실제로 재 봤습니다. 글자 폭은 거의 움직이지 않았고, 쪽 수를 밀어낸 값은 따로 있었습니다. 없는 글꼴은 오류가 아니라 다른 글꼴로 조용히 대체됩니다문서 파일 안에는 글꼴 이름만 적혀 있습니다. 글꼴 파일 자체가 들어가는 것은 아니라서, 그 이름의 글꼴이 없는 PC에서 열면 프로그램이 알아서 비슷한 글꼴을 골라 대신 그립니다. 경고창이 뜨지 않기 때문에 받는 사람은 바뀐 줄도 모릅니다.그러면 실제로 무엇.. 더보기
이 폰트, PDF에 끼워 넣어 남에게 보내도 될까요? 코드로 확인하는 법 발표 자료를 PDF로 내보내거나 인쇄소에 파일을 넘길 때, "폰트가 안 깨지게 끼워 넣기(임베딩)" 옵션을 켜는 경우가 많습니다. 그런데 이 폰트를 그렇게 문서에 박아서 남에게 넘겨도 괜찮은 폰트인지, 다들 켜니까 켜는 분이 대부분일 겁니다.사실 폰트 파일 안에는 이 질문에 대한 답이 미리 적혀 있습니다. 폰트 파일 하나에 얼마나 많은 정보가 담겨 있는지는 용량을 뜯어봤던 글에서도 다룬 적이 있는데, 이번엔 용량이 아니라 이 임베딩 허용 값을 윈도우에 이미 깔려 있는 폰트 몇 개에서 직접 읽어 봤습니다. fsType이라는 이름의 스위치OpenType과 TrueType 폰트 규격에는 OS/2라는 테이블이 있고, 그 안에 fsType이라는 2바이트짜리 값이 들어 있습니다. 폰트를 만든 쪽이 "이 폰트를 문.. 더보기