종종 비슷해 보이는 한글 자막 파일인데
한 파일은 한글 자막이 잘 보이고
다른 파일은 이상한 문자를 자막으로 내 놓는 경우가 있다.
처음에는 그낭 encoding 문제라고 생각했는데
utf-8로 encoding 해도 문제가 해결 되지 않았었다.
파일 자체는 한글이 분명히 보이는데, 자막 파일로 실행 시키면 이상한 문자들이 나왔었다.
a.srt
1 00:00:10,350 --> 00:00:13,589 한글 자막입니다.
b.srt
1 00:00:14,650 --> 00:00:17,889 한글 자막입니다.
그냥 text로 파일을 열어보면 위와 같이 보인다. 아무 문제가 없어 보인다.
그런데 자막을 열면
a.srt –
b.srt –
아무런 차이도 없는데 미치고 팔짤 뛸 노릇.
그러다 남자친구가 그거 text에 있는 bomb이라고 했다.
크앙 그건 또 뭐다냐
9-utf text에는 binary 특정한 마크 같은 게 텍스트 시작할 때 붙여진다.
보통의 text 에디터에서는 볼 수 없고 binary 로 봐야 확인이 된다.
$ vi -b filename
a.srt
1 00:00:14,650 --> 00:00:17,889 한글 자막입니다
b.srt
<feff>1
00:00:14,650 --> 00:00:17,889
한글 자막입니다
저 코드가 들어가면 한국어로 자막이 잘 나온다. 저 코드를 넣으려면
sed -i '1s/^\(\xef\xbb\xbf\)\?/\xef\xbb\xbf/' a.srt
만약 확실히 저 코드가 안 들어가 있다는 확신이 들면
sed -i '1s/^/\xef\xbb\xbf/' a.srt
이렇게 또 다른 뻘 짓이 끝났다.