misc.go 434 B

12345678910111213141516171819202122232425262728
  1. package util
  2. import (
  3. "strings"
  4. "unicode/utf8"
  5. "encoding/json"
  6. )
  7. func UnmarshalJsonAllowEmpty(content string, value_ptr interface{}) error {
  8. if content != "" {
  9. return json.Unmarshal(([] byte)(content), value_ptr)
  10. } else {
  11. return nil
  12. }
  13. }
  14. func DecodeUtf8(b ([] byte)) string {
  15. var buf strings.Builder
  16. for len(b) > 0 {
  17. var char, size = utf8.DecodeRune(b)
  18. buf.WriteRune(char)
  19. b = b[size:]
  20. }
  21. return buf.String()
  22. }