类型转换-cast
描述
类型转换,父对象为util,无子对象。(注意:该控件从WeStudio V1.5.3才支持)
事件
无
属性
无
方法
名称 |
功能说明 |
脚本例子 |
---|---|---|
jsonToJsObject(json) |
转换JSON字符串为JS对象 |
var obj = util.cast.jsonToJsObject(json) 转换json为JS对象 |
objectToJson(obj) |
转换JS对象为JSON字符串 |
var json = util.cast.objectToJson(obj) 转换JS对象为json |
xmlToJsObject(xml) |
转换XML字符串为JS对象 |
var obj = util.cast.xmlToJsObject(xml) 转换xml为JS对象 |
objectToXml(obj) |
转换JS对象为XML字符串 |
var xml = util.cast.objectToXml(obj) 转换JS对象为xml |
calculateLRC( data) |
计算数组data整个数数据的LRC校验值,返回长度为2的字节数组,高位在前 |
var data = [0xaa, 0xbb, 0xcc, 0xdd]; var lrc = util.cast.calculate(data); |
calculateLRC( data, len) |
计算数组data长度为len的数据LRC校验值,返回长度为2的字节数组,高位在前 |
var data = [0xaa, 0xbb, 0xcc, 0xdd]; var lrc = util.cast.calculate(data, 3); |
calculateCRC16( data) |
计算数组data整个数数据的CRC-16校验值,返回长度为2的字节数组,低位在前 |
var data = [0xaa, 0xbb, 0xcc, 0xdd]; var crc = util.cast.calculateCRC16(data); |
calculateCRC16( data, len) |
计算数组data长度为len的数据CRC-16校验值,返回长度为2的字节数组,低位在前 |
var data = [0xaa, 0xbb, 0xcc, 0xdd]; var crc = util.cast.calculateCRC16(data, 3); |
arrayToHexString( data) |
数组转换成16进制字符串(空格分隔) |
var data = [0xaa, 0xbb, 0xcc, 0xdd]; var str = util.cast.arrayToHexString(data); // ‘aa bb cc dd’ |
arrayToHexString( data, separator) |
数组转换成16进制字符串(separator分隔) |
var data = [0xaa, 0xbb, 0xcc, 0xdd]; var str = util.cast.arrayToHexString(data, ‘,’); // ‘aa,bb,cc,dd’ |
hexStringToArray(str) |
以空格为分隔符的16进制字符串转换成字节数组 |
var data = util.cast.hexStringToArray(‘aa bb cc dd’); |
hexStringToArray(str, separator) |
以为separator分隔符的16进制字符串转换成字节数组 |
var data = util.cast.hexStringToArray(‘aa,bb,cc,dd’, ‘,’); |
arrayToUtf8( data) |
数组转换成UTF-8格式 |
var data = [0x61, 0x62, 0x63]; var str = util.cast.arrayToUtf8(data); // ‘abc’ |
arrayToUtf8( data, encoding) |
将数组从指定的 字符编码格式 转换成UTF-8编码 |
var data = [0xd6, 0xd0]; util.cast.arrayToUtf8(data, ‘gb2312’); // ‘中’ |
stringToArray(str, encoding) |
字符串转换为字节数组,encoding为 字符编码格式 |
var data = util.cast.stringToArray(‘中文’, ‘gb2312’); // 转换中文字>符为gb2312编码的字节数组 var data = util.cast.stringToArray(‘中文’, ‘utf-16be’); // 转换中文字符为utf-16be编码的字节数组 |
stringToUrlEncoding(str) |
字符串转换为URL Encoding格式 |
var str = ‘http://wareexpress.com/query?dto={“date”:”today”}’; var encoded = util.cast.stringToUrlEncoding(str); //转换为URL Encoding格式的字符串 |
intToHexString(value, num) |
整数转换为16进制字符串,num表示16进制数的位数,不够位数自动补0 |
var str = util.cast.intToHexString(10, 2); // 返回 ‘0a’ |
int16ToArray(value) |
数字按“大端模式(高字节在前)”转换为字节数组(长度为2) |
var data = util.cast.int16ToArray(0xaabb); //大端[0xaa,0xbb] |
int16ToArray(value, isBigEndian) |
数字按isBigEndian转换为字节数组(长度为2),isBigEndian为true表示大端 |
var data = util.cast.int16ToArray(0xaabb, false);//小端[0xbb,0xaa] |
int32ToArray(value) |
数字按“大端模式(高字节在前)”转换为字节数组(长度为4) |
var data = util.cast.int32ToArray(0xaabbccdd); //大端[0xaa,0xbb,0xcc,0xdd] |
int32ToArray(value, isBigEndian) |
数字按isBigEndian转换为字节数组(长度为4),isBigEndian为true表示大端 |
var data = util.cast.int16ToArray(value, false); //小端[0xdd,0xcc,0xbb,0xaa] |
arrayToInt(data) |
字节数组按“大端模式(高字节在前)”转换为有符号整数 |
var value = util.cast.arrayToInt([0xaa,0xbb]); //大端0xaabb |
arrayToInt(data, isBigEndian) |
字节数组按isBigEndian转换为有符号整数,isBigEndian为true表示大端 |
var value = util.cast.arrayToInt([0xaa,0xbb], false); //小端0xbbaa |
floatToArray(value) |
浮点数按“大端模式(高字节在前)”转换为字节数组(长度为4) |
var array = util.cast.floatToArray(3.14); //大端[0x40,0x48,0xf5,0xc3] |
floatToArray(value, isBigEndian) |
浮点数按isBigEndian转换为字节数组(长度为4),isBigEndian为true表示大端 |
var array = util.cast.floatToArray(3.14, false); //小端[0xc3,0xf5,0x48,0x40] |
arrayToFloat( data) |
数组(大端模式)转换成浮点数 |
var value = util.cast.arrayToFloat([0x40,0x48,0xf5,0xc3]); // 3.140000104904175 |
arrayToFloat( data, isBigEndian) |
数组转换成浮点数,isBigEndian为true表示大端 |
var value = util.cast.arrayToFloat([0xc3,0xf5,0x48,0x40], false); // 3.140000104904175 |
bitArrayToByte(bits) |
位数组转换成字节(位由低到高) |
var value = util.cast.bitArrayToByte([1,0,1,0,1,1,1,1]); util.console.log(value.toString(16)); // 打印 f5 |
byteToBitArray(value) |
字节转换成位数组(位由低到高) |
var bits = util.cast.byteToBitArray(0xF5);//返回数组[1,0,1,0,1,1,1,1] |
byteArrayToBitArray(bytes, nb_bits) |
字节数组转换成nb_bits长度的位数组 |
var a = util.cast.byteArrayToBitArray([0x70, 0x03], 10);//返回数组[1,0,1,0,1,1,1,1,1,1] |
uint16ArrayToFloatAbcd(data) |
16位数组转换为浮点数 |
var value = util.cast.uint16ArrayToFloatAbcd([0xc3f5,0x4840]); //返回3.140000104904175 |
uint16ArrayToFloatDcba(data) |
16位数组转换为浮点数 |
var value = util.cast.uint16ArrayToFloatDcba([0x4048,0xf5c3]); //返回3.140000104904175 |
uint16ArrayToFloatBadc(data) |
16位数组转换为浮点数 |
var value = util.cast.uint16ArrayToFloatBadc([0xf5c3,0x4048]); //返回3.140000104904175 |
uint16ArrayToFloatCdab(data) |
16位数组转换为浮点数 |
var value = util.cast.uint16ArrayToFloatCdab([0x4840,0xc3f5]); //返回3.140000104904175 |
floatAbcdToUint16Array(value) |
浮点数转换成16位数组[0xAABB, 0xCCDD] |
var data = util.cast.floatAbcdToUint16Array(3.14);//返回数组 [0xc3f5,0x4840] |
floatDcbaToUint16Array(value) |
浮点数转换成16位数组[0xDDCC, 0xBBAA] |
var data = util.cast.floatDcbaToUint16Array(3.14);//返回数组 [0xf5c3 ,0x4048] |
floatBadcToUint16Array(value) |
浮点数转换成16位数组[0xBBAA, 0xDDCC] |
var data = util.cast.floatBadcToUint16Array(value);//返回数组 [0x4840,0xc3f5] |
floatCdabToUint16Array(value) |
浮点数转换成16位数组[0xCCDD, 0xAABB] |
var data = util.cast.floatCdabToUint16Array(value);//返回数组 [0x4048,0xf5c3] |