去除对字节数组进行 raw.convert 后产生的多余的结束符
By
terrorist
at 2022-06-15 • 0人收藏 • 1006人看过
import web.json
import console
// 一个字节数组
class struct{
ctor( str ){
this.str = str
};
BYTE str[5]
}
var obj = struct("aaa")
console.log( "str 长度:", #obj.str ) // 打印 3
// 写入指针,再取出来
var ptr = raw.buffer(obj)
var obj2 = raw.convert(ptr, struct())
console.log( "raw.convert 后的 str 长度:", #obj2.str ) // 打印 5
// 为什么要去除,一个案例是转换出来的 json 会有多余的字符
console.log("JSON", web.json.stringify({key=obj2.str})) // 打印 {"key":"aaa\u0000\u0000"}
// 去除后面多余的结束符
var ret = string.replace(obj2.str, "\z+$", "")
console.log( "去除后长度:", #obj.str ) // 打印 3
console.pause(true)后记:
用
string.str( ... )
即可 , 不用上面那么复杂
1 个回复 | 最后更新于 2022-06-18
登录后方可回帖
回复#1 @lup1 :
感谢纠正