IT이야기
vim 에서 BOM (Byte Order Mark) 확인, 제거, 생성
준호씨
2018. 2. 22. 00:03
반응형
vim 을 이용하여 BOM (Byte Order Mark) 를 추가, 확인, 제거 하는 방법에 대해 정리해 본다.
UTF-8 에서 BOM 은 별로 쓸모 없는 녀석인데 괜히 BOM 이 있어서 문제가 되는 경우가 종종 발행한다. vim 에서도 간단하게 제거가 가능하니 방법을 알아 두면 종종 써 먹을 수 있을 것이다.
BOM 생성 여부는 파일의 시작 hex 값에서 확인 할 수 있다.
text 파일 만들기
vim 으로 임의의 텍스트 파일을 만든다. 기본적으로 BOM 이 없는 상태로 저장 된다.
vi test
로 파일을 생성하고
hello world
라는 내용을 넣고 저장 (:w) 한다.
hex 데이터 확인
$ xxd -p test
68656c6c6f20776f726c640a
68 - h
65 - e
6c - l
6c - l
6f - o
... 생략
BOM 추가
vi 에서 :set bomb 하면 BOM 을 생성한다. UI 상 글 내용이 바뀌지는 않는다.
:set bomb
:w
vim 에서 BOM 확인
:set nobomb?
화면 하단에 "bomb" 라고 나오는 것을 볼 수 있다. BOM 이 있다는 뜻이다.
hex 값으로 BOM 추가 확인
xxd -p test
efbbbf68656c6c6f20776f726c640a
BOM 이 없을 때와 달리 앞에 efbbbf 가 붙은 것을 볼 수 있다. UTF-8 에서의 BOM 값이다. 인코딩 방식에 따라 BOM 데이터는 다르다.
vim 에서 BOM 제거
:set nobomb 커맨드로 BOM 을 제거 할 수 있다.
:set nobomb
:w
참고
- 바이트_순서_표식 UTF-8에서 바이트 순서는 어떤 의미도 없음. UTF-8의 BOM을 허용하지만 필수가 아니며 권장하지도 않음.
- Byte order mark
반응형