ifish/Ifish/ESPTouch/ESPTouAPI/Esptouchdata/ESP_ByteUtil.h

131 lines
2.9 KiB
Objective-C
Executable File

//
// ESP_ByteUtil.h
// EspTouchDemo
//
// Created by 白 桦 on 4/7/15.
// Copyright (c) 2015 白 桦. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface ESP_ByteUtil : NSObject
#define ESPTOUCH_NSStringEncoding NSUTF8StringEncoding
/**
* Convert uint8 into char( we treat char as uint8)
*
* @param uint8
* the unit8 to be converted
* @return the byte of the unint8
*/
+ (Byte) convertUint8toByte:(char) uint8;
/**
* Convert char into uint8( we treat char as uint8 )
*
* @param b
* the byte to be converted
* @return the UInt8(uint8)
*/
+ (UInt8) convertByte2Uint8:(Byte) b;
/**
* Convert byte to Hex String
*
* @param b
* the byte to be converted
* @return the Hex String
*/
+ (NSString *) convertByte2HexString:(Byte) b;
/**
* Split uint8 to 2 bytes of high byte and low byte. e.g. 20 = 0x14 should
* be split to [0x01,0x04] 0x01 is high byte and 0x04 is low byte
*
* @param uint8
* the char(uint8)
* @return the high and low bytes be split, byte[0] is high and byte[1] is
* low
*/
+ (NSData *) splitUint8To2Bytes: (UInt8) uint8;
/**
* Combine 2 bytes (high byte and low byte) to one whole byte
*
* @param high
* the high byte
* @param low
* the low byte
* @return the whole byte
*/
+ (Byte) combine2bytesToOneWithHigh: (Byte) high andLow: (Byte) low;
/**
* Combine 2 bytes (high byte and low byte) to one UInt16
*
* @param high
* the high byte
* @param low
* the low byte
* @return the UInt8
*/
+ (UInt16) combine2bytesToU16WithHigh: (Byte) high andLow: (Byte) low;
/**
* Generate the random byte to be sent
*
* @return the random byte
*/
+ (Byte) randomByte;
/**
* Generate the random byte to be sent
*
* @param len
* the len presented by u8
* @return the byte[] to be sent
*/
+ (NSData *) randomBytes: (UInt8) len;
+ (NSData *) genSpecBytesWithU16: (UInt16) len;
/**
* Generate the specific byte to be sent
* @param len
* the len presented by byte
* @return the byte[]
*/
+ (NSData *) genSpecBytesWithU8:(Byte) len;
+ (NSString *) parseBssid:(Byte[]) bssidBytes Offset: (int) offset Count: (int) count;
/**
* parse "24,-2,52,-102,-93,-60" to "18,fe,34,9a,a3,c4" parse the bssid from
* hex to String
*
* @param bssidBytes
* the hex bytes bssid, e.g. {24,-2,52,-102,-93,-60}
* @param len
* the len of bssidBytes
* @return the String of bssid, e.g. 18fe349aa3c4
*/
+ (NSString *) parseBssid:(Byte[]) bssidBytes Len: (int) len;
/**
* @param string the string to be used
* @return the Byte[] of string according to ESPTOUCH_NSStringEncoding
*/
+ (NSData *) getBytesByNSString: (NSString *)string;
/**
* get hex string transformed by data
* @param data the data to be transformed
* @return the hex String transformed by data
*/
+ (NSString *) getHexStringByData: (NSData *)data;
@end