convertascii.go 711 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package utils
  2. import (
  3. "bet24.com/log"
  4. "strconv"
  5. "strings"
  6. )
  7. func HexToAscii(hex string) string {
  8. chars := strings.Split(hex, "\\")
  9. if len(chars) < 2 {
  10. log.Debug("HexToAscii invalid arg %s", hex)
  11. return ""
  12. }
  13. chars = chars[1:]
  14. ret := make([]byte, len(chars))
  15. for i := 0; i < len(chars); i++ {
  16. ret[i] = byte(hexToChar(chars[i]))
  17. }
  18. return string(ret)
  19. }
  20. func AsciiToHex(ascii string) string {
  21. return ""
  22. }
  23. func hexToChar(hex string) int {
  24. if strings.Index(hex, "x") != 0 {
  25. log.Debug("hexToChar %s not start with x", hex)
  26. return 0
  27. }
  28. hex = hex[1:]
  29. ret, err := strconv.ParseInt(hex, 16, 32)
  30. if err != nil {
  31. log.Debug("hexToChar %s convert failed", hex)
  32. return 0
  33. }
  34. return int(ret)
  35. }