打印及打印是,需要将打印数据转化为ArrayBuffer,但是打印内容携带汉字的话会出现打印汉字乱码
问题场景描述:打印:
let encoded = stringToUint8Array(printDataTest);
socket.sppWrite(clientNumber, encoded);
// 打印数据String转ArrayBuffer
export function stringToUint8Array(str: string): ArrayBuffer {
// let textEncoder: util.TextEncoder = new util.TextEncoder('gbk');
let textEncoder: util.TextEncoder = new util.TextEncoder();
let uint8Array = new Uint8Array(textEncoder.encodeInto(str).length);
textEncoder.encodeIntoUint8Array(str, uint8Array);
return uint8Array.buffer;
}
TextEncoder默认是utf-8的,转化为ArrayBuffer后打印汉字乱码,但使用’gbk’打印不出来内容,是不是不支持’gbk’呢?
支持gbk,参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...属性