js中buffer数组转成字符串,再将该字符串转成数组为什么数据是错误的

img


buffer数组里面数据是0x97,0x98转成字符串后再转成数组数据变为0xef,0xbf,0xbd,这是为什么

如果是字符串转数组,数组再转字符串,只要保证编码一致,一定能够保证转换回来
但是如果原始数据本身就是数组,它在转字符串的时候是不能保证转换的都是可见字符,那么当字符串再转数组的时候要丢数据的
你可以以base64方式转字符串,或者全部转16进制字符拼接,而不要以正常转文字的方式转字符串