목록으로
유틸리티

텍스트 총정리: 인코딩부터 변환까지 실무 필수 5가지 정리

텍스트 총정리가 필요한 순간은 예고 없이 찾아옵니다. 엑셀에서 붙여넣은 값에 보이지 않는 공백이 남아 있거나, 오래된 CSV 파일이 물음표로 깨져 보이거나, 협업 상대에게 넘긴 파일의 줄바꿈 방식이 달라 오류가 나는 상황이 대표적입니다. 이 글에서는 문자 인코딩부터 공백 정리, 대소문자 변환, 정규식 치환까지 실무에서 반복적으로 마주치는 텍스트 작업을 한 번에 정리합니다.

1. 문자 인코딩: 텍스트가 깨지는 진짜 이유

텍스트 파일은 겉보기에 글자를 담고 있지만, 실제로 저장되는 것은 숫자입니다. 어떤 숫자를 어떤 글자로 읽을지 정한 약속이 문자 인코딩입니다. 저장할 때 쓴 인코딩과 열 때 쓴 인코딩이 다르면 한글이 깨져 보이는 현상이 발생합니다.

인코딩한글 1글자 크기주로 만나는 곳
UTF-83바이트웹, 최신 프로그램, 대부분의 API
EUC-KR (CP949)2바이트구형 관공서 자료, 오래된 엑셀 CSV
UTF-162바이트윈도우 내부, 일부 유니코드 텍스트 파일
ASCII표현 불가영문 전용 설정 파일, 로그

깨진 글자의 모양으로도 원인을 짐작할 수 있습니다. 한글이 물음표나 네모로 보이면 원본 정보 자체가 손실된 경우가 많고, 알 수 없는 라틴 문자가 규칙적으로 반복되면 UTF-8 파일을 EUC-KR로 잘못 읽은 경우가 많습니다. 후자는 인코딩만 바꿔 다시 열면 대부분 복구됩니다.

참고: 엑셀에서 CSV를 그냥 더블클릭해 열면 시스템 기본 인코딩으로 읽어 한글이 깨질 수 있습니다. 데이터 탭의 텍스트 가져오기 기능을 이용해 인코딩을 UTF-8로 직접 지정하면 안정적으로 열립니다.

2. 공백과 특수문자 정리 3단계

웹페이지나 PDF에서 복사한 텍스트에는 눈에 보이지 않는 문자가 함께 따라옵니다. 데이터가 중복 제거되지 않거나 검색에 걸리지 않는 원인 대부분이 여기에 있습니다. 다음 순서로 정리하면 누락 없이 처리됩니다.

  1. 앞뒤 공백 제거: 문자열 양 끝의 공백과 탭을 잘라냅니다. 이름, 이메일, 상품 코드 같은 키 값에서 가장 흔한 오류 원인입니다.
  2. 중간 공백 정규화: 두 칸 이상 연속된 공백을 한 칸으로 줄이고, 탭 문자는 공백으로 통일합니다.
  3. 비가시 문자 제거: 줄바꿈 없는 공백(U+00A0), 폭 없는 공백(U+200B), 바이트 순서 표시(BOM, U+FEFF)를 제거합니다. 이 문자들은 화면상 일반 공백과 구분되지 않습니다.
주의: 겉보기가 같아 보여도 U+00A0은 일반 공백과 다른 문자입니다. 눈으로는 동일한 두 값이 시스템에서 서로 다른 값으로 처리되어 중복 데이터가 쌓이는 일이 자주 생기므로, 비교나 병합 작업 전에는 반드시 정규화 단계를 거쳐야 합니다.

3. 실무에서 반복되는 변환 5가지

텍스트 작업의 상당수는 아래 다섯 가지 유형으로 수렴합니다. 각 변환이 언제 필요한지 알아두면 문제 상황에서 원인을 빠르게 좁힐 수 있습니다.

  • 대소문자 변환: 이메일 주소와 도메인은 소문자로 통일하는 것이 원칙입니다. 상수명이나 태그 값은 대문자로 맞춥니다.
  • 줄바꿈 형식 변환: 윈도우는 CRLF, 맥과 리눅스는 LF를 사용합니다. 설정 파일이나 스크립트에서 원인 모를 오류가 난다면 줄바꿈 형식을 먼저 확인해 볼 만합니다.
  • 한글 정규화(NFC/NFD): 맥에서 만든 파일명을 윈도우에서 열면 자음과 모음이 분리되어 보이는 현상이 대표적입니다. NFC로 결합하면 정상 표시됩니다.
  • URL 인코딩: 주소창에 한글이나 공백이 들어갈 때 퍼센트 기호가 붙은 형태로 바뀝니다. 링크 공유나 검색 파라미터 확인에 필요합니다.
  • Base64 인코딩: 이미지나 첨부 파일을 텍스트로 옮겨 담을 때 사용합니다. 암호화가 아니라 단순 변환이라는 점을 기억해야 합니다.

이런 변환을 매번 수식이나 코드로 처리하기 번거롭다면 텍스트 변환기처럼 브라우저에서 바로 결과를 확인할 수 있는 도구를 활용하면 검증 시간이 줄어듭니다. 특히 인코딩 결과를 눈으로 대조해야 하는 작업에서 효율적입니다.

팁: 변환 작업은 원본을 덮어쓰지 말고 별도 파일로 저장하는 습관을 들이는 편이 좋습니다. 인코딩 변환은 되돌릴 수 없는 손실이 발생하는 경우가 있어, 원본이 남아 있어야 복구가 가능합니다.

4. 정규식으로 한 번에 처리하기

정리해야 할 텍스트가 수백 줄이라면 정규식이 가장 빠른 해법입니다. 대부분의 에디터와 스프레드시트 도구가 정규식 찾기와 바꾸기를 지원하므로, 아래 패턴 몇 개만 알아도 반복 작업의 상당 부분이 사라집니다.

패턴의미활용 예
\\s+하나 이상의 공백연속 공백을 한 칸으로 축소
^\\s+|\\s+$줄 앞뒤의 공백들여쓰기와 꼬리 공백 일괄 제거
^$\\n빈 줄문단 사이 빈 줄 정리
[^가-힣a-zA-Z0-9\\s]한글, 영문, 숫자, 공백 외 문자특수문자 일괄 제거
\\d{2,3}-\\d{3,4}-\\d{4}전화번호 형태연락처 추출 및 형식 검증
정규식은 외우는 도구가 아니라 조합하는 도구입니다. 자주 쓰는 패턴 다섯 개를 메모해 두는 것만으로도 반복 작업의 대부분이 해결됩니다.

5. 텍스트 작업 전 확인할 체크리스트

파일을 넘기거나 데이터를 시스템에 올리기 전에 아래 항목을 훑어보면 되돌리기 어려운 실수를 대부분 막을 수 있습니다.

  • 파일 인코딩이 UTF-8인지 확인했는가
  • BOM 포함 여부가 받는 쪽 요구사항과 일치하는가
  • 앞뒤 공백과 비가시 문자를 제거했는가
  • 줄바꿈 형식이 대상 환경에 맞는가
  • 구분자로 쓰는 쉼표나 탭이 데이터 값 안에 섞여 있지 않은가
  • 변환 전 원본 파일을 별도로 보관했는가

텍스트 처리는 겉보기에 단순해 보이지만, 문제가 생겼을 때는 원인을 찾기가 까다로운 영역입니다. 인코딩과 공백, 줄바꿈이라는 세 가지 축을 먼저 점검하는 순서만 몸에 익혀 두면 대부분의 상황에서 해결 시간이 크게 단축됩니다.

자동차 수리가 필요하신가요?

대전 사고차 수리 전문 - 남대전자동차공업사

무료 견적받기