JavaScript实现字符编码转换utf-8/gbk(附完整源码)
// 引入所需模块
const iconv = require('iconv-lite');
const fs = require('fs');
// 将Buffer从GBK转换为UTF-8
function convertGBKToUTF8(buffer) {
// 使用iconv-lite将GBK转换为UTF-8
return iconv.decode(buffer, 'GBK');
}
// 将Buffer从UTF-8转换为GBK
function convertUTF8ToGBK(text) {
// 使用iconv-lite将UTF-8转换为GBK
return iconv.encode(text, 'GBK');
}
// 示例:将文件从GBK编码转换为UTF-8编码
fs.readFile('example.txt', (err, data) => {
if (err) throw err;
// 转换编码
const utf8Text = convertGBKToUTF8(data);
// 输出转换后的文本
console.log(utf8Text);
// 将转换后的文本保存为UTF-8编码
fs.writeFile('example_utf8.txt', utf8Text, (err) => {
if (err) throw err;
console.log('文件转换成功,已保存为UTF-8编码。');
});
});
// 示例:将文本从UTF-8编码转换为GBK编码
const textToConvert = '你好,世界!';
const gbkBuffer = convertUTF8ToGBK(textToConvert);
// 将Buffer保存为GBK编码的文件
fs.writeFile('example_gbk.txt', gbkBuffer, (err) => {
if (err) throw err;
console.log('文本转换成功,已保存为GBK编码。');
});
这段代码展示了如何使用iconv-lite
模块在Node.js环境中将文本从GBK编码转换为UTF-8编码,以及如何将UTF-8编码的文本转换为GBK编码。代码中使用了fs
模块来读取和写入文件。这些操作都是异步的,因此使用了回调函数来处理错误和数据。
评论已关闭