//
|
// NSString+URLEncoding.h
|
// BUAdSDK
|
//
|
// Created by carl on 2017/10/26.
|
// Copyright © 2017年 bytedance. All rights reserved.
|
//
|
|
#import <Foundation/Foundation.h>
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
typedef NS_ENUM(NSUInteger, BULanguageType) {//"万"转换规则
|
BULanguageType_showWan = 0, //直接拼接万,默认
|
BULanguageType_showNum = 1, //直接展示数字
|
};
|
|
@interface NSString (BU_URLCoding)
|
- (nullable NSString *)bu_URLEncodedString;
|
- (nullable NSString *)bu_URLDecodedString;
|
- (nullable NSString *)bu_URLEncodedStringWithCustomSet;
|
@end
|
|
@interface NSString (BU_Encryption)
|
- (nullable NSString *)bu_sha256;
|
/**
|
* @brief 返回自身的md5
|
* @return 返回自身的md5的16进制字串
|
*/
|
- (nullable NSString *)bu_MD5HashString;
|
@end
|
|
@interface NSString (BU_NumberToWan)
|
/// 数字转换成x万(以1w为界限,小于1w显示原始数字) 没有”万“走另一套展示逻辑
|
+ (NSString *)bu_numberToWan:(NSInteger)target wan:(NSString *)wan;
|
|
/// 大于1w就用k表示,不大于就直接展示多少个评分
|
+ (NSString *)bu_numberToThousand:(NSInteger)target;
|
|
|
/// 0-9999 = 实际数值
|
/// 1w - 9999w = (实际数值 / 10000) w+
|
/// 1亿+ = 9999w+
|
/// @param target 实际数值
|
/// @param name 单位 如w/万
|
+ (NSString *)bu_numberShortToW:(NSInteger)target name:(nonnull NSString *)name;
|
|
@end
|
|
@interface NSString (BU_URLStringAppend)
|
/*
|
*
|
string转URL
|
*/
|
+ (nullable NSURL *)bu_URLWithURLString:(NSString *)str;
|
/*
|
*
|
string转字典
|
*/
|
+ (NSDictionary*)bu_parametersOfURLQueryString:(NSString*)urlString;
|
|
/*
|
*
|
url字符串拼接参数,需要判断是否是第一个
|
*/
|
+ (NSString *)bu_urlStringWithOriginUrlString:(NSString *)originUrlString appendParameters:(NSDictionary *)parameters;
|
|
+ (NSString *)bu_urlStringWithBaseUrlString:(NSString *)baseUrlString requestURLString:(NSString *)requestURLString;
|
|
+ (NSString *)bu_urlStringWithUrlString:(NSString *)urlString parameterString:(NSString *)parameterString;
|
|
/*
|
* 格式转化
|
222222 -> 222,222
|
*/
|
+ (NSString *)bu_convertNumberFormatter:(NSString *)str;
|
|
|
|
/// 正则匹配字符
|
/// @param pattern 正则表达式
|
/// @param withTemplate 返回样式: "$1 + $2"
|
/// @param error 错误信息
|
- (nullable NSString *)bu_replacingWithPattern:(NSString * _Nonnull)pattern withTemplate:(NSString * _Nonnull)withTemplate error:(NSError **)error;
|
@end
|
|
|
@interface NSString (BU_Sandbox)
|
/**
|
* 获取缓存路径
|
*
|
* @return path where to cache
|
*/
|
- (NSString *)bu_CachePath;
|
|
/**
|
* @brief 获取程序的用户文档目录的路径加上自身
|
* @return 用户文档目录路径字串加上自身,该字符串是自动释放的
|
*/
|
- (NSString *)bu_DocumentsPath;
|
@end
|
|
|
@interface NSString(BU_JSONValue)
|
|
- (nullable id)bu_JSONValue:(NSError **)error;
|
+ (nullable id)bu_objectWithJSONData:(nullable NSData *)inData error:(NSError **)outError;
|
|
@end
|
|
|
@interface NSString(BU_Time)
|
|
+ (NSString*)bu_dateNowString;
|
|
+ (NSString*)bu_dateStringSince:(NSTimeInterval)timeInterval;
|
|
+ (NSNumber*)bu_currentInterval;
|
|
@end
|
|
|
@interface NSString(BU_Random)
|
|
/* @deccription生成随机字符
|
* @param count 多少位随机数
|
*/
|
+ (NSString *)randomStringWithCount:(NSUInteger)count;
|
@end
|
|
@interface NSString (BU_Size)
|
|
- (CGSize)bu_boundingRectWithSize:(CGSize)size font:(UIFont *)font;
|
|
@end
|
|
@interface NSString (BU_CheckingResult)
|
|
- (nullable NSString *)bu_substringWithPattern:(NSString *)pattern;
|
|
@end
|
|
NS_ASSUME_NONNULL_END
|