HDUniversalUtils.h 3.37 KB
Newer Older
Han Ruisong's avatar
Han Ruisong committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//
//  HDUniversalUtils.h
//  HDBaseUtils
//
//  Created by zwl on 2020/3/24.
//  Copyright © 2020 zwl. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface HDUniversalUtils : NSObject

#pragma mark - Public Func
Hanruisong's avatar
Hanruisong committed
15
16
17
18
19
20
/*!
 * @method
 * @abstract 获取系统版本
 * @discussion 获取系统版本
 * @result 系统版本
 */
Han Ruisong's avatar
Han Ruisong committed
21
22
+(NSString *)HD_GetSystemVersion;

Hanruisong's avatar
Hanruisong committed
23
24
25
26
27
28
/*!
 * @method
 * @abstract 获取设备型号
 * @discussion 获取设备型号
 * @result 设备型号
 */
Han Ruisong's avatar
Han Ruisong committed
29
30
31
32
+(NSString *)HD_GetDeviceName;

#pragma mark - NSURL

Hanruisong's avatar
Hanruisong committed
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*!
 * @method
 * @abstract 字符串加密
 * @discussion 字符串加密
 * @param string 加密前字符串
 * @result 加密后字符串
 */
+(NSString *)HD_stringUrlEncode:(NSString *)string;

/*!
 * @method
 * @abstract 字符串解密
 * @discussion 字符串解密
 * @param string 解密前字符串
 * @result 解密后字符串
 */
+(NSString *)HD_stringUrlDecode:(NSString *)string;
Han Ruisong's avatar
Han Ruisong committed
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

/**
 *  从 urlString 解析url参数到 NSDictionary
 *  如 http://123.com/a/b/c.txt?v1=k1&v2=k3&v3=k3 解析的结果为:
 *   {
 *       "v1":"k1,
 *       "v2":"k3",
 *       "v3":"k3",
 *    }
 *
 *  注意:该函数对字典里的value做了url解码。
 *
 *  @param urlString 字符串 url
 *
 *  @return url参数 字典
 */
Hanruisong's avatar
Hanruisong committed
66
67
+(NSDictionary *)HD_urlQueryDictionaryWithURLString:(NSString *)urlString;
+(NSDictionary *)HD_urlQueryDictionaryWithUrl:(NSURL *)url;
Han Ruisong's avatar
Han Ruisong committed
68

Hanruisong's avatar
Hanruisong committed
69
70
71
72
73
74
75
76
77
/*!
 * @method
 * @abstract 数据加密
 * @discussion 数据加密
 * @param data 待加密数据
 * @param key 秘钥
 * @result 加密后数据
 */
+(NSData *)HD_encrypt:(NSData *)data key:(NSString *)key;
Han Ruisong's avatar
Han Ruisong committed
78

Hanruisong's avatar
Hanruisong committed
79
80
81
82
83
84
85
86
87
/*!
 * @method
 * @abstract 数据解密
 * @discussion 数据解密
 * @param data 待解密数据
 * @param key 秘钥
 * @result 解密后数据
*/
+(NSData *)HD_decrypt:(NSData *)data key:(NSString *)key;
Han Ruisong's avatar
Han Ruisong committed
88

Hanruisong's avatar
Hanruisong committed
89
90
91
92
93
94
95
96
/*!
 * @method
 * @abstract 主机字节顺序转换成网络字节顺序
 * @discussion 从主机字节顺序转换成网络字节顺序
 * @param n 主机字节顺序
 * @result 网络字节顺序
 */
+(UInt64)HD_htonll:(UInt64)n;
Han Ruisong's avatar
Han Ruisong committed
97

Hanruisong's avatar
Hanruisong committed
98
99
100
101
102
103
104
105
/*!
 * @method
 * @abstract 网络字节顺序转换为主机字节顺序
 * @discussion 网络字节顺序转换为主机字节顺序
 * @param n 网络字节顺序
 * @result 主机字节顺序
 */
+(UInt64)HD_ntohll:(UInt64)n;
Han Ruisong's avatar
Han Ruisong committed
106

Hanruisong's avatar
Hanruisong committed
107
108
109
110
111
112
113
114
115
116
/*!
 * @method
 * @abstract 复制字符
 * @discussion 复制字符
 * @param src 源字符
 * @param dst 目标字符
 * @param len 长度
 * @result 复制后字符
 */
+(u_char *)HD_memcpyFrom:(const u_char *)src to:(u_char *)dst length:(size_t)len;
Han Ruisong's avatar
Han Ruisong committed
117
118

/*!
Hanruisong's avatar
Hanruisong committed
119
120
121
122
123
 * @method
 * @abstract 字节数换算
 * @discussion 字节数换算
 * @param bytes 字节数
 * @result 换算后大小
Han Ruisong's avatar
Han Ruisong committed
124
 */
Hanruisong's avatar
Hanruisong committed
125
126
+(float)HD_calculateSizeWithBytes:(long long)bytes;

Han Ruisong's avatar
Han Ruisong committed
127
/*!
Hanruisong's avatar
Hanruisong committed
128
129
130
131
132
 * @method
 * @abstract 返回换算单位
 * @discussion 返回换算单位
 * @param bytes 字节数
 * @result 换算后单位
Han Ruisong's avatar
Han Ruisong committed
133
 */
Hanruisong's avatar
Hanruisong committed
134
+(NSString *)HD_calculateBytes:(long long)bytes;
Han Ruisong's avatar
Han Ruisong committed
135

Hanruisong's avatar
Hanruisong committed
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
/*!
 * @method
 * @abstract 创建设备唯一标识
 * @discussion 创建设备唯一标识
 * @result 唯一标识
 */
+(NSString *)uniqueMark;

/*!
 * @method
 * @abstract 删除创建的设备唯一标识
 * @discussion 删除创建的设备唯一标识
 */
+(void)deleteUniqueMark;

/*!
 * @method
 * @abstract 域名解析ip地址
 * @discussion 域名解析ip地址
 * @param hostName 待解析域名
 * @result ip地址
 */
+(NSString *)HD_getIPWithHostName:(const NSString*)hostName;
Han Ruisong's avatar
Han Ruisong committed
159
160
161

@end