레거시 웹사이트 디코딩

히브리어로 된 레거시(오래된) 사이트를 스크랩해야 하는 경우 다음이 많이 있을 것입니다: �������

The replacement character � (often displayed as a black rhombus with a white question mark) is a symbol found in the Unicode standard at code point U+FFFD in the Specials table. It is used to indicate problems when a system cannot render a stream of data to a correct symbol.



다음은 디코딩하지 않을 경우 얻을 수 있는 스니펫입니다.<html dir=ltr>\n<head>\n<title>�����</title>.......</html>\n
다음은 수행하는 경우입니다.<html dir=ltr>\n<head>\n<title>חדשות</title>.......</html>\n
히브리어 문자를 얻으려면 Node.js에 고유한 TextDecoder 클래스를 사용해야 합니다.

fetch('www.example.com')
    .then(res => res.arrayBuffer())
    .then(buffer => {
      const decoder = new TextDecoder('windows-1255');
      return decoder.decode(buffer);
    });


여기서는 히브리어 문자를 디코딩하기 때문에 windows-1255 인코딩 옵션을 사용하고 있습니다.
키릴 문자에 적합한 windows-1251를 선택할 수 있습니다.

물론 우리는 DRY 코드를 좋아합니다!
따라서 재사용 및 보다 읽기 쉬운 경험을 위해 이것을 utils 폴더의 함수로 내보내는 것이 좋습니다(함수의 이름을 읽으면 함수가 무엇을 하는지 알 수 있습니다).

export const decodeLegacyWebsite = async promise =>
  promise
    .then(res => res.arrayBuffer())
    .then(buffer => {
      const decoder = new TextDecoder('windows-1255');
      return decoder.decode(buffer);
    });

decodeLegacyWebsite 함수는 약속을 받고 사이트의 Html 응답을 나타내는 문자열을 반환합니다.

좋은 웹페이지 즐겨찾기