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

results matching ""

    No results matching ""