[高手勿喷]
最近想做一个Minecraft的nbt编辑器,里面使用bytes存储了字符串。但是JavaScript似乎没有bytes转字符串的功能(至少我没找到),网上查了很多方法都太繁琐了,这里提供一个又偷懒又好用的办法。
//声明一个Uint8Array,经常被用来存放字节
let bytes=new Uint8Array(....);
//声明空字符串
let str="";
for(let i=0;i<bytes.length;i++){
//用16进制表示字节
let k=bytes[i].toString(16);
//如果只有1位在前面补0
if(k.length==1)k="0"+k;
//储存为URI格式
str+="%"+k
}
//output就是bytes转换后的string啦!
let output=decodeURI(str);
当然也是可以同样的方法逆向转回bytes的。