見出し画像

ChatGPTにWEBアプリを作らせてみた


CSVファイルの文字化けを直すWEBアプリを作らせてみました

 CSVファイルをGoogleスプレッドシートで編集しようとしたとき文字が化けて読めませんでした。文字化けを直すにはCSVをGoogleスプレッドシート形式に変換すれば読めるのですが、CSVのままにしたい。そうするには文字コードを変換しないと読めないようです。
私のChromeBookでは簡単に変換できないので変換アプリをChatGPTに作ってもらいました。


結果が下


<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>CSVファイルの文字コード変換</title>
</head>
<body>
  <input type="file" id="input-file">
  <button id="convert-button">変換</button>
  <script>
    const inputElement = document.getElementById('input-file');
    const convertButton = document.getElementById('convert-button');

    function decodeShiftJis(bytes) {
      const decoder = new TextDecoder('shift_jis');
      return decoder.decode(bytes);
    }

    function encodeUtf8(string) {
      const encoder = new TextEncoder();
      return encoder.encode(string);
    }

    convertButton.addEventListener('click', () => {
      const file = inputElement.files[0];
      const reader = new FileReader();
      reader.onload = () => {
        const inputBytes = new Uint8Array(reader.result);
        const inputText = decodeShiftJis(inputBytes);
        const outputBytes = encodeUtf8(inputText);
        const outputBlob = new Blob([outputBytes], {type: 'text/csv;charset=UTF-8'});
        const outputUrl = URL.createObjectURL(outputBlob);
        const outputLink = document.createElement('a');
        outputLink.href = outputUrl;
        outputLink.download = 'output.csv';
        document.body.appendChild(outputLink);
        outputLink.click();
        document.body.removeChild(outputLink);
        URL.revokeObjectURL(outputUrl);
      };
      reader.readAsArrayBuffer(file);
    });
  </script>
</body>
</html>



少しだけ変更した完成品がこちら

ファイルを選択して変換ボタンを押すだけ。簡単ですがこれで十分


完成品リンクはこちら


ふーん、って感じでした。
ChatGPTでプログラム組めるけど、正しく動作しているかは自分で確かめないとね



この記事が参加している募集

AIとやってみた

仕事について話そう

この記事が気に入ったらサポートをしてみませんか?