import {ObjectBase} from './ObjectBase';
import {StringUtil} from './StringUtil';
//==========================================================
// 16进制工具。
//
// @reference
// @author maocy
// @version 150201
//==========================================================
export class HexUtil {
// @define
public static NUMBER: string = '0x123456789ABCDEF';
public static PAD: string = '0';
public static PAD2: ObjectBase = new ObjectBase();
//===========================================================
// 判断是否有效16进制内容。
//
// @method
// @param value:Object 内容
// @return Boolean 是否有效
//===========================================================
public static isValid(value) {
return StringUtil.isPattern(value, this.NUMBER);
}
//===========================================================
// 解析16进制内容。
//
// @method
// @param value:Object 内容
// @return String 内容
//===========================================================
public static parse(value) {
return value ? parseInt('0x' + value) : 0;
}
//===========================================================
// 格式化16进制内容。
//
// @method
// @param value:Number 内容
// @param length:Integer 长度
// @return String 内容
//===========================================================
public static format(value, length) {
var result = null;
if (value) {
result = value.toString(16);
} else {
result = '0';
}
return length ? StringUtil.lpad(result, length, this.PAD) : result;
}
}