[NodeJS] node-fetch를 사용하여 Shift_JIS 웹사이트의 문자셋을 UTF-8로 변환 하는 방법
목차
이 포스트에서는 일본 웹사이트에서 사용되는 Shift_JIS 문자 코드를 UTF-8로 변환하는 방법에 대해 안내 합니다. 필요 라이브러리 설치부터 node-fetch로 받아온 Shift_JIS를 UTF-8로 변환 하는 방법, 그리고 이를 반복 사용 할 수 있는 함수와 그 함수 사용법에 대해 설명 하겠습니다.
필요 라이브러리 설치
Shift_JIS를 UTF-8로 변환하기 위해 iconv-lite와 node-fetch 라이브러리를 설치 합니다.
$ npm install iconv-lite node-fetch
Shift_JIS용 Fetch 함수
위의 내용을 기반으로 Shift_JIS사이트의 문자열을 자동으로 UTF-8로 변환하여 리턴해주는 함수를 제작 했습니다. 함수의 전체 코드는 다음과 같습니다.
const fetch = require('node-fetch');
const iconv = require('iconv-lite');
async function fetchAndConvert(url) {
try {
// Shift-JIS로 인코딩된 텍스트를 가져옵니다.
const response = await fetch(url);
const buffer = await response.buffer();
// 가져온 데이터를 Shift-JIS에서 UTF-8로 변환합니다.
const utf8String = iconv.decode(buffer, 'Shift_JIS');
// 변환된 UTF-8 문자열을 반환합니다.
return utf8String;
} catch (error) {
console.error('Error fetching or converting:', error);
throw error;
}
}
사용 예시
위에 만들어 둔 함수를 다음과 같이 호출하여 사용 가능 합니다.
const url = 'https://www.smbcnikko.co.jp'
fetchAndConvert(url)
.then(utf8String => {
console.log('Converted UTF-8 string:', utf8String);
})
.catch(error => {
console.error('Error:', error);
});
안정적이고 저렴한 가상 서버(VPS) 안내
안정적인 서버 호스팅을 찾고 계신가요? 지금 Vultr 호스팅을 한번 이용 해 보세요. 지금 보고 계신 HaruLogs 사이트도 Vultr에서 VPS 호스팅 하고 있습니다. 한국, 일본, 미국등 다양한 국가에 클릭 몇번으로 안정적이고 저렴한 VPS를 운영 할 수 있습니다.
아래 배너를 통해 회원 가입을 하시면 100달러의 무료 크레딧을 받을 수 있습니다. 100달러의 무료 크레딧은 Vultr의 최소 사양 VPS를 20대 동시 운영가능한 크레딧입니다.
Vultr 서비스 요약
- VPS
- 인스턴스
- AMD 또는 Intel High Performance 인스턴스 최저 $6 - 1vCPU, 1GB Memory, 2TB Bandwidth, 25GB NVMe
- 엣지
- 인스턴스
- Block Storage
- Object Storage (AWS S3 호환)
- Firewall
- Network
- Load Balancers
- Kubernetes
- Databases