45 lines
915 B
TypeScript
45 lines
915 B
TypeScript
import { injectable } from "tsyringe";
|
|
|
|
@injectable()
|
|
export class EncodingUtil
|
|
{
|
|
public encode(value: string, encode: EncodeType): string
|
|
{
|
|
return Buffer.from(value).toString(encode);
|
|
}
|
|
|
|
public decode(value: string, encode: EncodeType): string
|
|
{
|
|
return Buffer.from(value, encode).toString(EncodeType.UTF8);
|
|
}
|
|
|
|
public fromBase64(value: string): string
|
|
{
|
|
return this.decode(value, EncodeType.BASE64);
|
|
}
|
|
|
|
public toBase64(value: string): string
|
|
{
|
|
return this.encode(value, EncodeType.BASE64);
|
|
}
|
|
|
|
public fromHex(value: string): string
|
|
{
|
|
return this.decode(value, EncodeType.HEX);
|
|
}
|
|
|
|
public toHex(value: string): string
|
|
{
|
|
return this.encode(value, EncodeType.HEX);
|
|
}
|
|
}
|
|
|
|
export enum EncodeType
|
|
{
|
|
BASE64 = "base64",
|
|
HEX = "hex",
|
|
ASCII = "ascii",
|
|
BINARY = "binary",
|
|
UTF8 = "utf8",
|
|
}
|