123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- //
- // 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
|