类型转换-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] |