吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 568|回复: 2
收起左侧

[求助] 原生前端js如何转换文件字符串编码

[复制链接]
hjxhjxjx 发表于 2024-6-21 12:41
本帖最后由 hjxhjxjx 于 2024-6-21 12:42 编辑

有个需求,从本地上传txt之类的文本文件,读取里面的内容为字符串,如何将字符串(未知编码)转换成utf-8?(网页使用utf-8)
比如以下这个例子:
[HTML] 纯文本查看 复制代码
<meta charset="utf-8">
<body>
    <input type="file" id="fileInput" accept=".txt">
    <button id="btn_input">导入</button>
</body>
<script>
function input(){//导入文件
    const file = document.getElementById("fileInput").files[0];
    if (!file) {
        alert("没有文件");
        return;
    }
    const reader = new FileReader();
    reader.onload = function () {
        const str = reader.result;
        //调整str的编码
    };
    reader.readAsText(file,"UTF-8");
}
</script>

如果是ansi的txt文件,就中文乱码了

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

亡心胜利之剑 发表于 2024-6-21 14:24
// 假设file是一个File对象,通过input[type=file]选择的文件
const reader = new FileReader();

reader.onload = function(event) {
    const fileContent = event.target.result; // 这是读取的原始内容(UTF-16编码)
   
    // 接下来,将原始内容转换为UTF-8编码的字符串
    const utf8String = convertToUTF8(fileContent);
   
    // 这里可以处理转换后的UTF-8编码字符串
    console.log(utf8String);
};

reader.readAsText(file);

function convertToUTF8(str) {
    const encoder = new TextEncoder();
    return encoder.encode(str);
}
涛之雨 发表于 2024-6-21 18:48
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 14:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表