CLewaimaiString.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #pragma once
  2. #include <codecvt>
  3. #include <iostream>
  4. #include <sstream>
  5. #include <regex>
  6. #include <string>
  7. using namespace std;
  8. class CLewaimaiString
  9. {
  10. public:
  11. CLewaimaiString();
  12. ~CLewaimaiString();
  13. static bool base64_encode(const string& input, string* output);
  14. static bool base64_decode(const string& input, string* output);
  15. static void trim(string &s);
  16. static std::string UnicodeToUTF8(const std::wstring wstr);
  17. static std::wstring UTF8ToUnicode(const std::string str);
  18. static std::string UnicodeToANSI(const std::wstring wstr);
  19. static std::wstring ANSIToUnicode(const std::string str);
  20. static std::string UTF8ToANSI(const std::string str);
  21. static std::string ANSIToUTF8(const std::string str);
  22. static std::string DoubleToString(const double value, unsigned int precisionAfterPoint);
  23. static std::string UrlEncode(const std::string& str);
  24. static std::string UrlDecode(const std::string& str);
  25. static bool isIPAddressValid(const char* pszIPAddr);
  26. /**
  27. * 把字符串in 以 delim为分隔符,转化为vector,比如 1,2,3,4,5,用逗号分隔,转化为5个元素的vector
  28. */
  29. static vector<string> Split(const string& in, const string& delim);
  30. /**
  31. * 把strContent内容中的strReplace替换为strDest,nNum表示替换几个
  32. */
  33. static int Replace(std::wstring& strContent, std::wstring strReplace, std::wstring strDest, int nNum = 1);
  34. //整个替换所有的字符串,把strBig钟的strsrc全部替换成strdst
  35. static void string_replace(std::string &strBig, const std::string &strsrc, const std::string &strdst);
  36. //从文件路径或者url中获取文件名
  37. static std::string GetPathOrURLShortName(std::string strFullName);
  38. //得到文件路径的目录
  39. static std::string GetPathDir(std::string filePath);
  40. };