t-comm
Version:
专业、稳定、纯粹的工具库
28 lines (24 loc) • 833 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
// 更健壮的转换函数,支持多种编码
function ab2str(buffer, encoding) {
if (encoding === void 0) {
encoding = 'utf-8';
}
if (typeof TextDecoder !== 'undefined') {
return new TextDecoder(encoding).decode(new Uint8Array(buffer));
}
// 备选方案
var byteArray = new Uint8Array(buffer);
var result = '';
for (var i = 0; i < byteArray.length; i++) {
result += String.fromCharCode(byteArray[i]);
}
// 如果是 GBK 编码,可能需要特殊处理
if (encoding.toLowerCase() === 'gbk' || encoding.toLowerCase() === 'gb2312') {
// 这里可以集成第三方 GBK 解码库
console.warn('GBK编码可能需要特殊处理,建议服务器使用UTF-8');
}
return result;
}
exports.ab2str = ab2str;