한줄공지
  • 등록된 공지내용이 없습니다.

[NodeJS] node-fetch를 사용하여 Shift_JIS 웹사이트의 문자셋을 UTF-8로 변환 하는 방법

2024년 4월 18일
조회수 93
코멘트 0

목차

이 포스트에서는 일본 웹사이트에서 사용되는 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 $100 크레딧 선물 받기

 

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
포스트 통계
지금 보고있는 포스트의 통계 데이터를 확인 해 보세요.
  • 총 조회수
    93
  • 최근 30일 조회수
    2
연관 포스트
코멘트 작성