如何解决文件的中文乱码问题

如何解决文件的中文乱码问题

HarmonyOS
2024-01-21 14:15:46
浏览
收藏 0
回答 3
待解决
回答 3
按赞同
/
按时间
鱼弦CTO
1
分享
微博
QQ
微信
回复
2024-07-10 11:14:40
lhlrj

读取文件内容的buffer数据后,通过TextDecoder对文件内容进行解码。

import { util } from "@kit.ArkTS" 
import { fileIo } from '@kit.CoreFileKit'; 
 
let filePath = getContext(this).filesDir + "/test0.txt"; 
let stream = fileIo.createStreamSync(filePath, "r+"); 
let buffer = new ArrayBuffer(4096); 
let readOut = stream.readSync(buffer); 
let textDecoder = util.TextDecoder.create('utf-8', { ignoreBOM: true }); 
let readString = textDecoder.decodeWithStream(new Uint8Array(buffer), { stream: false }); 
console.log("读取的文件内容:" + readString);

已于2024-1-31 14:02:04修改
分享
微博
QQ
微信
回复
2024-01-22 16:59:35
热辣牛奶

读取文件内容的buffer数据后,通过TextDecoder对文件内容进行解码。

import { util } from '@kit.ArkTS';
import { fileIo } from '@kit.CoreFileKit';

// 创建一个文件写入中文字符

let filePath = getContext(this).filesDir + "/test0.txt";
let file = fileIo.openSync(filePath, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE);

// 写入一段内容至文件

let writeLen = fileIo.writeSync(file.fd, "你好,世界");
fileIo.closeSync(file);
console.info(`GarbledCnCharacters The length of str is: ${writeLen}`);
let stream = fileIo.createStreamSync(filePath, "r+");
let buffer = new ArrayBuffer(4096);
stream.readSync(buffer);

// 设置编码格式为“utf-8”

let textDecoder = util.TextDecoder.create('utf-8', { ignoreBOM: true });

// 解码输后获取对应文本

let readString = textDecoder.decodeWithStream(new Uint8Array(buffer), { stream: false });
console.info(`GarbledCnCharacters read content is:${readString}`);
分享
微博
QQ
微信
回复
2024-07-08 15:05:00
相关问题
this传递问题,该如何解决
2051浏览 • 1回复 待解决
HarmonyOS toast问题如何解决
562浏览 • 1回复 待解决
如何解决预览流黑屏问题
991浏览 • 1回复 待解决
DevEco Studio IDE 代码 中文汉字乱码
12494浏览 • 2回复 待解决
如何解决webview loaddata白屏问题
1054浏览 • 1回复 待解决
HarmonyOS路由问题如何解决
235浏览 • 1回复 待解决
事件分发冲突问题如何解决
247浏览 • 1回复 待解决
HarmonyOS如何解决数据存储问题
8957浏览 • 3回复 已解决
Gauge组件问题,该如何解决
163浏览 • 1回复 待解决
如何解决底层库无法调试问题
845浏览 • 1回复 待解决
HarmonyOS 中文base64加密解密乱码
403浏览 • 1回复 待解决
如何解决定位接口调用问题
214浏览 • 1回复 待解决
如何解决module相互依赖问题
1005浏览 • 1回复 待解决
ohpm publish 组问题,该如何解决
219浏览 • 1回复 待解决
har多目标,多值问题如何解决
297浏览 • 1回复 待解决
如何解决webview离线加载白屏问题
1080浏览 • 1回复 待解决