您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

StringUtils.cpp 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //
  2. // Created by robin on 6/20/16.
  3. //
  4. #include "StringUtils.h"
  5. const char* StringUtils::hex = "0123456789abcdef";
  6. std::string StringUtils::rawToHuman(unsigned char c)
  7. {
  8. return std::string(1, hex[c >> 4]) + std::string(1, hex[c & 0x0f]);
  9. }
  10. std::string StringUtils::rawToHuman(char c)
  11. {
  12. return rawToHuman((unsigned char)c);
  13. }
  14. std::string StringUtils::rawToHuman(unsigned short c)
  15. {
  16. return rawToHuman((unsigned char)(c >> 8)) + rawToHuman((unsigned char)c);
  17. }
  18. std::string StringUtils::rawToHuman(short c)
  19. {
  20. return rawToHuman((unsigned short)c);
  21. }
  22. std::string StringUtils::rawToHuman(unsigned int c)
  23. {
  24. return rawToHuman((unsigned short)(c >> 16)) + rawToHuman((unsigned short)c);
  25. }
  26. std::string StringUtils::rawToHuman(int c)
  27. {
  28. return rawToHuman((unsigned int)c);
  29. }
  30. std::string StringUtils::rawToHuman(unsigned long c)
  31. {
  32. return rawToHuman((unsigned int)(c >> 32)) + rawToHuman((unsigned int)c);
  33. }
  34. std::string StringUtils::rawToHuman(long c)
  35. {
  36. return rawToHuman((unsigned long)c);
  37. }
  38. std::string StringUtils::rawToHuman(std::string raw)
  39. {
  40. std::string human;
  41. for (size_t i = 0; i < raw.size(); ++i) {
  42. human += rawToHuman(raw[i]);
  43. }
  44. return human;
  45. }
  46. ResultString StringUtils::humanToRaw(std::string human)
  47. {
  48. std::string raw;
  49. return ResultString::ok(raw);
  50. }