MOBFString.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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. 使用HMAC-MD5进行签名
  64. @param string 原始字符串
  65. @param key 密钥
  66. @return 签名后的数据
  67. */
  68. + (NSData *)dataByHMACMd5String:(NSString *)string forKey:(NSString *)key;
  69. /**
  70. * 使用BASE64进行解码
  71. *
  72. * @param string 原始字符串
  73. *
  74. * @return 解码后数据
  75. */
  76. + (NSData *)dataByBase64DecodeString:(NSString *)string;
  77. /**
  78. * 使用BASE64进行解码
  79. *
  80. * @param string 原始字符串
  81. *
  82. * @return 解码后数据string
  83. */
  84. + (NSString *)stringByBase64DecodeString:(NSString *)string;
  85. /**
  86. * 判断字符串中是否包含链接
  87. *
  88. * @param string 原始字符串
  89. *
  90. * @return YES 表示包含URL,NO 表示不包含
  91. */
  92. + (BOOL)containsURLByString:(NSString *)string;
  93. /**
  94. * @brief 解析HTTP参数字符串,字符串格式为:参数名=参数值&参数名=参数值
  95. *
  96. * @param string 参数字符串
  97. *
  98. * @return 解析后字典对象
  99. */
  100. + (NSDictionary *)parseURLParametersString:(NSString *)string;
  101. /**
  102. * @brief 转换16进制字符串为NSData
  103. *
  104. * @param string 二进制流的16进制字符串
  105. *
  106. * @return 二进制数据对象
  107. */
  108. + (NSData *)dataByHexString:(NSString *)string;
  109. /**
  110. * @brief 转换版本号
  111. * @param ver 版本号
  112. * @return 转换为5位整数表示。
  113. */
  114. + (NSInteger)convertVersion:(NSString *)ver;
  115. @end