类型转换-cast

描述

_image 类型转换,父对象为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]