去除对字节数组进行 raw.convert 后产生的多余的结束符

By terrorist at 22 天前 • 0人收藏 • 251人看过
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 个回复 | 最后更新于 19 天前
20 天前   #1

回复#1 @lup1 :

感谢纠正

登录后方可回帖

登 录
信息栏
公告:
个人博客
专注分享
可在分享中适当提问
谢绝纯提问
否则不再提醒一律
删帖
谢谢合作!



本站域名:HtmLayout.Cn
aardio可以快速开发上位机,本站主要记录了学习过程中遇到的问题和解决办法及aardio代码分享

这里主要专注于aardio学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.

Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
本 站 主 站:Stm32cube中文网
Sciter中文在线文档Sciter在线学习文档
空间赞助:才仁机械
Loading...