@iot9x.com/ipc-utils
Version:
九星云、九星小程序、九星配置工具所共用的库方法
187 lines (186 loc) • 7.08 kB
TypeScript
import { F32Encode, F64Encode, I16Encode, I32Encode, I64Encode } from './constant';
export declare class Hex {
/**
* 十六进制字符串反转
* @description "BB AA" --> "AA BB"
* @param hexStr 十六进制字符串
* @returns 转换后的十六进制字符串
*/
static reverseBA(hexStr: string): string;
/**
* 十六进制字符串反转
* @description "CC DD AA BB" --> "AA BB CC DD"
* @param hexStr 十六进制字符串
* @returns 转换后的十六进制字符串
*/
static reverseCDAB(hexStr: string): string;
/**
* 十六进制字符串反转
* @description "BB AA DD CC" --> "AA BB CC DD"
* @param hexStr 十六进制字符串
* @returns 转换后的十六进制字符串
*/
static reverseBADC(hexStr: string): string;
/**
* 十六进制字符串反转
* @description "DD CC BB AA" --> "AA BB CC DD"
* @param hexStr 十六进制字符串
* @returns 转换后的十六进制字符串
*/
static reverseDCBA(hexStr: string): string;
/**
* 十六进制字符串反转
* @description "GG HH EE FF CC DD AA BB" --> "AA BB CC DD EE FF GG HH"
* @param hexStr 十六进制字符串
* @returns 转换后的十六进制字符串
*/
static reverseGHEFCDAB(hexStr: string): string;
/**
* 十六进制字符串反转
* @description "BB AA DD CC FF EE HH GG" --> "AA BB CC DD EE FF GG HH"
* @param hexStr 十六进制字符串
* @returns 转换后的十六进制字符串
*/
static reverseBADCFEHG(hexStr: string): string;
/**
* 十六进制字符串反转
* @description "HH GG FF EE DD CC BB AA" --> "AA BB CC DD EE FF GG HH"
* @param hexStr 十六进制字符串
* @returns 转换后的十六进制字符串
*/
static reverseHGFEDCBA(hexStr: string): string;
/**
* 将十六进制字符串转换成Int16数值
* @description 'FFE9' -> -23
* @param hexStr 十六进制编码字符串
* @param i16Encode 编码格式
* @returns 转换结果
*/
static toInt16(hexStr: string, i16Encode: I16Encode): number;
/**
* 将Int16数值转换成十六进制字符串
* @description -23 -> 'FFE9'
* @param data 数值
* @param i16Encode 编码格式
* @returns 十六进制字符串
*/
static fromInt16(data: number, i16Encode: I16Encode): string;
/**
* 将十六进制字符串转换成Uint16
* @description '0017' -> 23
* @param hexStr 十六进制编码字符串
* @param i16Encode 编码格式
* @returns 转换结果
*/
static toUInt16(hexStr: string, i16Encode: I16Encode): number;
/**
* 将UInt16数值转换成十六进制字符串
* @description 23 -> '0017'
* @param data 数值
* @param i16Encode 编码格式
* @returns 十六进制字符串
*/
static fromUInt16(data: number, i16Encode: I16Encode): string;
/**
* 将十六进制字符串转换成Int32数值
* @description 'FFFFFFE9' -> -23
* @param hexStr 十六进制编码字符串
* @param i16Encode 编码格式
* @returns 转换结果
*/
static toInt32(hexStr: string, i32Encode: I32Encode): number;
/**
* 将Int32数值转换成十六进制字符串
* @description -23 -> 'FFFFFFE9'
* @param data 数值
* @param i16Encode 编码格式
* @returns 十六进制字符串
*/
static fromInt32(data: number, i32Encode: I32Encode): string;
/**
* 将十六进制字符串转换成UInt32
* @description '00 00 00 17' -> 23
* @param hexStr 十六进制编码字符串
* @param i16Encode 编码格式
* @returns 转换结果
*/
static toUInt32(hexStr: string, i32Encode: I32Encode): number;
/**
* 将UInt32数值转换成十六进制字符串
* @description 23 -> '00 00 00 17'
* @param data 数值
* @param i16Encode 编码格式
* @returns 十六进制字符串
*/
static fromUInt32(data: number, i32Encode: I32Encode): string;
/**
* 将十六进制字符串转换成Int64数值
* @description 'FFFFFFFFFFFFFFE9' -> -23
* @see https://docs.iot9x.com/docs/js/上位机工具库/Modbus/附录/精度问题
* @param hexStr 十六进制编码字符串
* @param i16Encode 编码格式
* @returns 转换结果
*/
static toInt64(hexStr: string, i64Encode: I64Encode): number;
/**
* 将Int64数值转换成十六进制字符串
* @description -23 -> 'FFFFFFFFFFFFFFE9'
* @see https://docs.iot9x.com/docs/js/上位机工具库/Modbus/附录/精度问题
* @param data 数值
* @param i16Encode 编码格式
* @returns 十六进制字符串
*/
static fromInt64(data: number, i64Encode: I64Encode): string;
/**
* 将十六进制字符串转换成UInt64数值
* @description '0000000000000017' -> 23
* @see https://docs.iot9x.com/docs/js/上位机工具库/Modbus/附录/精度问题
* @param hexStr 十六进制编码字符串
* @param i16Encode 编码格式
* @returns 转换结果
*/
static toUInt64(hexStr: string, i64Encode: I64Encode): number;
/**
* 将UInt32数值转换成十六进制字符串
* @description 23 -> '0000000000000017'
* @see https://docs.iot9x.com/docs/js/上位机工具库/Modbus/附录/精度问题
* @param data 数值
* @param i16Encode 编码格式
* @returns 十六进制字符串
*/
static fromUInt64(data: number, i64Encode: I64Encode): string;
/**
* 将十六进制字符串转换成Float数值
* @description '40133333' -> 2.2999999523162na84
* @param hexStr 十六进制编码字符串
* @param f32Encode 编码格式
* @returns 转换结果
*/
static toFloat(hexStr: string, f32Encode: F32Encode): number;
/**
* 将Float数值转换成十六进制字符串
* @description 123.456 -> '42f6e979'
* @see https://www.virtualbing.fun/#/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/JavaScript/%E5%AE%9E%E8%B7%B5%E7%A7%AF%E7%B4%AF/IEEE754/README
* @param data 数值
* @param f32Encode 编码格式
* @returns 十六进制字符串
*/
static fromFloat(data: number, f32Encode: F32Encode): string;
/**
* 将十六进制字符串转换成Double数值
* @description '405edd2f1a9fbe77' -> 123.456
* @param hexStr 十六进制编码字符串
* @param f64Encode 编码格式
* @returns 转换结果
*/
static toDouble(hexStr: string, f64Encode: F64Encode): number;
/**
* 将Double数值转换成十六进制字符串
* @description 123.456 -> '405edd2f1a9fbe77'
* @see https://www.virtualbing.fun/#/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/JavaScript/%E5%AE%9E%E8%B7%B5%E7%A7%AF%E7%B4%AF/IEEE754/README
* @param data 数值
* @param f64Encode 编码格式
* @returns 十六进制字符串
*/
static fromDouble(data: number, f64Encode: F64Encode): string;
}