1. #urldecode
    2. failDesc := "55So5LqO5pS26ZO25Y%2Bw5Zue6LCD6YCa55%2BlLi4hL1xz"
    3. enEscapeUrl, _ := url.QueryUnescape(failDesc)
    4. #base64 decode
    5. base64.StdEncoding.DecodeString(enEscapeUrl)
    6. #字符串截取 支持中文
    7. func SubString(str string, begin, length int) string {
    8. fmt.Println("Substring =", str)
    9. rs := []rune(str)
    10. lth := len(rs)
    11. fmt.Printf("begin=%d, end=%d, lth=%d\n", begin, length, lth)
    12. if begin < 0 {
    13. begin = 0
    14. }
    15. if begin >= lth {
    16. begin = lth
    17. }
    18. end := begin + length
    19. if end > lth {
    20. end = lth
    21. }
    22. fmt.Printf("begin=%d, end=%d, lth=%d\n", begin, length, lth)
    23. return string(rs[begin:end])
    24. }