这个标准库比较简单,它提供了用于转义和解转义HTML文本的两个函数。
包:html
func EscapeString(s string) string
EscapeString函数将特定的一些字符转为逸码(编码)后的字符,如"<"变成"<"。
这个函数它只会修改五个字符:<、>、&、'、"。
func UnescapeString(s string) string
UnescapeString函数将逸码的字符实体如"<"转换为原字符"<"。它的解码范围很大,远比函数EscapeString转码范围大得多。例如"á"解码为"á","á"也会解码为该字符。
UnescapeString(EscapeString(s)) == s总是成立,但是两个函数顺序反过来则不一定成立。
下面看例子:
package main
import (
"html"
"log"
)
func main() {
s := html.EscapeString("<div>name</div>") // 逸码
log.Println(s)
s = html.UnescapeString(s) // 解码
log.Println(s)
og.Println(html.EscapeString(html.UnescapeString("<div>name</div>"))) // 先逸码后解码
log.Println(html.UnescapeString("á"), html.UnescapeString("á")) // 逸码 á
}
结果如下:
这个库比较简单,就是用来编码解码html超文本字符的 。