aardio不但有字节数组,也有unicode字符串。
import console;
//这就是一个字节数组
var bytes = raw.buffer(100,"abc测试");
//不用转换直接可以当字符串使用
var str = string.left(bytes,3);
//很方便
console.log(str,bytes );
console.pause(true);
再看看aardio中的Unicode字符串:
import console;
//unicode字符串,用string.toUnicode也可以生成这种字符串
var wstr = 'abc测试'u
//这里宽字节,字符的值一样
console.log( wstr[1] );
/而用aardio里跟普通字符串是通用的,不用转换
::User32.MessageBox(0,wstr,"测试",0)
console.pause(true);
本质上字符串就是一个字节数组,在aardio里你要分成两个东西当然也可以,不分也没什么问题,在VB中可能要把字符串先转换为字节数组,再转换为字符串,才能使用,但在aardio中不需要转换就可以通用。其实就是一个string.formto转换编码的事情。再举个例子:
import com;
var http = com.CreateObject("WinHttp.WinHttpRequest.5.1");
http.Open("GET", "http://1212.ip138.com/ic.asp", false);
http.Send();
//以ANSI(GB2312)显示字符串
::User32.MessageBoxA( 0,http.ResponseBody,"",0 );
//以Unicode(UTF8)显示字符串
var utf8 = string.fromto(http.ResponseBody,936,65001)
::User32.MessageBoxW( 0,utf8,"",0 );
感谢群友w讲解。