티스토리 뷰

자바스크립트에서 파일의 인코딩타입을 알아내는 방법을 알아보고자 한다.

file마다 고유한 인코딩 타입을 가지고 있는데

type이 file인 input에서 파일을 선택했을 때 javascript로 파일의 정보를 읽어오고

해당 파일이 어떤 인코딩 방식으로 되어있는지 알아내고자 했다.

 

javascript 라이브러리가 있어 이를 사용했다.

 

1. 스크립트에 encoding.js를 추가시킨다.

<script src="encoding.js"></script>

 

2. 타입이 file인 input을 만든다.

<input type="file" id="file">
<div id="encoding"></div>
<textarea id="result" rows="5" cols="80"></textarea>

 

3. 스크립트에 파일이 선택되었을 때 호출되는 함수를 선언한다.

<script>
function onFileSelect(event) {
  var file = event.target.files[0];

  var reader = new FileReader();
  reader.onload = function(e) {
    var encoding = Encoding.detect(codes);
    document.getElementById('encoding').textContent = encoding;
    
    if(encoding == 'UNICODE'){
    	console.log("UNICODE encoding");
    }
  };
  
  reader.readAsText(file);
  
}

document.getElementById('file').addEventListener('change', onFileSelect, false);
</script>

파일 인풋이 change되었을 때 작동하는 이벤트리스너를 통해 onFileSelect함수가 실행되도록 하면

이벤트를 통해 file의 정보를 가져오고 Encoding.detect를 통해 파일의 인코딩 방식을 가져올 수 있다.

 

 

라이브러리 출처

github.com/polygonplanet/encoding.js

 

polygonplanet/encoding.js

Convert or detect character encoding in JavaScript - polygonplanet/encoding.js

github.com

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함