BOM 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
5번째 줄: | 5번째 줄: | ||
<br /> | <br /> | ||
==인코딩 방식에 따른 BOM 예시== | == 인코딩 방식에 따른 BOM 예시 == | ||
{| class="wikitable" | {| class="wikitable" | ||
!인코딩 방식 | !인코딩 방식 | ||
26번째 줄: | 26번째 줄: | ||
|} | |} | ||
*ex) 문서 처음 2개의 바이트가 <code>FE FF</code>로 시작되면 그 문서는 UTF-16 Big Endian으로 해석 | * ex) 문서 처음 2개의 바이트가 <code>FE FF</code>로 시작되면 그 문서는 UTF-16 Big Endian으로 해석 | ||
==UTF-8에서의 BOM== | == UTF-8에서의 BOM == | ||
===단일 BOM=== | === 단일 BOM === | ||
UTF-16, 32와 달리 UTF-8은 BOM이 한가지만 존재 | UTF-16, 32와 달리 UTF-8은 BOM이 한가지만 존재 | ||
*즉, BOM을 표기하지 않을 수 있음 | * 즉, BOM을 표기하지 않을 수 있음 | ||
===UTF-8에서 발생하는 문제=== | === UTF-8에서 발생하는 문제 === | ||
*에디터에 따라서 BOM을 표기하기도, 표기하지 않기도 함 | * 에디터에 따라서 BOM을 표기하기도, 표기하지 않기도 함 | ||
*외형상 동일하지만, 실제 내용엔 차이가 발생 | * 외형상 동일하지만, 실제 내용엔 차이가 발생 | ||
*외형상 동일하지만, 실제 내용엔 차이가 발생 | * 외형상 동일하지만, 실제 내용엔 차이가 발생 | ||
*line by line으로 값을 읽거나, 전체에 대한 hash를 적용하는 경우 차이 발생 | * line by line으로 값을 읽거나, 전체에 대한 hash를 적용하는 경우 차이 발생 | ||
{| class="wikitable" | {| class="wikitable" | ||
47번째 줄: | 47번째 줄: | ||
!BOM이 없는 경우 | !BOM이 없는 경우 | ||
|- | |- | ||
|[[파일: | |[[파일:BOM이 있는 예시.png|섬네일]] | ||
|[[파일: | |[[파일:BOM이 없는 예시.png|섬네일]] | ||
|} | |} | ||
===대안=== | === 대안 === | ||
에디터의 설정을 통하여 BOM 삽입 여부 결정 | 에디터의 설정을 통하여 BOM 삽입 여부 결정 | ||
*상호호환성을 위해 데이터 사용처의 수요에 맞추어 설정하는 것이 맞으나, | * 상호호환성을 위해 데이터 사용처의 수요에 맞추어 설정하는 것이 맞으나, | ||
*수요가 확실치 않을 경우 일반적으로 UTF-8은 BOM 없이 사용하는 경우가 많음 | * 수요가 확실치 않을 경우 일반적으로 UTF-8은 BOM 없이 사용하는 경우가 많음 | ||
**BOM이 있는 경우 일부 소스코드 등에서 에러 발생 | ** BOM이 있는 경우 일부 소스코드 등에서 에러 발생 | ||
**UTF-8에서 BOM이 없다고 잘못 읽혀지는 경우는 없음 | ** UTF-8에서 BOM이 없다고 잘못 읽혀지는 경우는 없음 | ||
[[파일:UTF- | [[파일:UTF-8 BOM 설정 예시.png|왼쪽|섬네일]] | ||
<br /> | |||