JavaScript utf 8 bytes string超簡単な方法(すべての文字に対応)

2752 ワード

[マスター勿喷]最近MinecraftのNBAtエディタを作りたいですが、中に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);
もちろん同じ方法で逆回転してもいいです.