为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Go中获取符文的十进制值?

如何在Go中获取符文的十进制值?

Go
九州编程 2021-08-23 15:28:51
我需要解析一些字符串并通过将任何特殊字符解析为 'â' TO â 来清理它们。这是十进制编码。我知道如何使用this将其解析为 Unicode ,但我需要十进制代码。整个想法是替换那些特殊字符,如果它们包含特殊字符,则用转换返回整个字符串。例如:text := "chitâra"text := parseNCRs(text) //can be by referenceparseNCRs(&text) //or passing the pointerfmt.Println(text) //Outputs: "chitâra"
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

遍历字符串以获取符文的数值。


func escape(s string) string {

  var buf bytes.Buffer

  for _, r := range s {

    if r > 127 {

        fmt.Fprintf(&buf, "&#%d;", r)

    } else {

        buf.WriteRune(r)

    }

  }

  return buf.String()

}

playground


如果您要转义 HTML 或 XML,那么您还应该处理其他特殊字符:


func escape(s string) string {

  var buf bytes.Buffer

  for _, r := range s {

    if r > 127  || r == '<' || r == '>' || r == '&' || r == '"' || r = '\'' {

        fmt.Fprintf(&buf, "&#%d;", r)

    } else {

        buf.WriteRune(r)

    }

  }

  return buf.String()

}


查看完整回答
反对 回复 2021-08-23
  • 1 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信