MOBFString.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. //
  2. // MOBFStringUtils.h
  3. // MOBFoundation
  4. //
  5. // Created by vimfung on 15-1-16.
  6. // Copyright (c) 2015年 MOB. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. /**
  10. * 字符串工具
  11. */
  12. @interface MOBFString : NSObject
  13. /**
  14. * URL编码
  15. *
  16. * @param string 原始字符串
  17. * @param encoding 字符串编码
  18. *
  19. * @return 编码后字符串
  20. */
  21. + (NSString *)urlEncodeString:(NSString *)string forEncoding:(NSStringEncoding)encoding;
  22. /**
  23. * URL解码
  24. *
  25. * @param string 原始字符串
  26. * @param encoding 字符串编码
  27. *
  28. * @return 解码后字符串
  29. */
  30. + (NSString *)urlDecodeString:(NSString *)string forEncoding:(NSStringEncoding)encoding;
  31. /**
  32. * 使用SHA1算法进行字符串签名
  33. *
  34. * @param string 原始字符串
  35. *
  36. * @return 签名后字符串
  37. */
  38. + (NSString *)sha1String:(NSString *)string;
  39. /**
  40. * 使用MD5算法进行字符串签名
  41. *
  42. * @param string 原始字符串
  43. *
  44. * @return 签名后字符串
  45. */
  46. + (NSString *)md5String:(NSString *)string;
  47. /**
  48. * 获取GUID字符串
  49. *
  50. * @return GUID字符串
  51. */
  52. + (NSString *)guidString;
  53. /**
  54. * 使用HMAC-SHA1进行签名
  55. *
  56. * @param string 原始字符串
  57. * @param key 密钥
  58. *
  59. * @return 签名后的数据
  60. */
  61. + (NSData *)dataByHMACSha1String:(NSString *)string forKey:(NSString *)key;
  62. /**
  63. * 使用BASE64进行解码
  64. *
  65. * @param string 原始字符串
  66. *
  67. * @return 解码后数据
  68. */
  69. + (NSData *)dataByBase64DecodeString:(NSString *)string;
  70. /**
  71. * 判断字符串中是否包含链接
  72. *
  73. * @param string 原始字符串
  74. *
  75. * @return YES 表示包含URL,NO 表示不包含
  76. */
  77. + (BOOL)containsURLByString:(NSString *)string;
  78. /**
  79. * @brief 解析HTTP参数字符串,字符串格式为:参数名=参数值&参数名=参数值
  80. *
  81. * @param string 参数字符串
  82. *
  83. * @return 解析后字典对象
  84. */
  85. + (NSDictionary *)parseURLParametersString:(NSString *)string;
  86. /**
  87. * @brief 转换16进制字符串为NSData
  88. *
  89. * @param string 二进制流的16进制字符串
  90. *
  91. * @return 二进制数据对象
  92. */
  93. + (NSData *)dataByHexString:(NSString *)string;
  94. @end