pb版本9.0 用函数String(long, "address" )读取内存中字符数据时,如果是汉字会变成乱码,应该如何解决
pb版本9.0 用函数String(long, "address" )读取内存中字符数据时,如果是汉字会变成乱码,应该怎么解决
pb版本9.0 用函数String(long, "address" )读取内存中字符数据时,如果是汉字会变成乱码,应该怎么解决
------解决思路----------------------
PB的这种用法,更多时候用来获取Triggerevent传递的字符串参数,不会出现乱码。
如果不是triggerevent传递的字符串,而是API函数的字符串指针,那请确保该指针是指向GBK的字符集。
否则无法使用string(long,"address").
你可以用copymemery等API转换成blob,或者其他API函数转成GBK字符集的字符串。
------解决思路----------------------
重要的不是string(long, "address"),重要的是你怎么去读取内容
如果是pb12
ls_temp = String(long, "address" )
lb_blob = blob(ls_temp) //EncodingUTF16LE! is default
ls_result = string(lb_blob, EncodingANSI!)
可以转换编码,但pb9是不可以的,建议你用copymemery,更灵活一些
pb版本9.0 用函数String(long, "address" )读取内存中字符数据时,如果是汉字会变成乱码,应该怎么解决
------解决思路----------------------
PB的这种用法,更多时候用来获取Triggerevent传递的字符串参数,不会出现乱码。
如果不是triggerevent传递的字符串,而是API函数的字符串指针,那请确保该指针是指向GBK的字符集。
否则无法使用string(long,"address").
你可以用copymemery等API转换成blob,或者其他API函数转成GBK字符集的字符串。
------解决思路----------------------
重要的不是string(long, "address"),重要的是你怎么去读取内容
如果是pb12
ls_temp = String(long, "address" )
lb_blob = blob(ls_temp) //EncodingUTF16LE! is default
ls_result = string(lb_blob, EncodingANSI!)
可以转换编码,但pb9是不可以的,建议你用copymemery,更灵活一些