If you run fmt.Println(\"\\u554a\"), it shows \'啊\'.
But how to get unicode-style-string \\u554a from a rune \'啊\' ?
I'd like to add to the answer that hardPass has.
In the case where the hex representation of the unicode is less that 4 characters (ü for example) strconv.FormatInt will result in \ufc which will result in a unicode syntax error in Go. As opposed to the full \u00fc that Go understands.
Padding the hex with zeros using fmt.Sprintf with hex formatting will fix this:
func RuneToAscii(r rune) string {
if r < 128 {
return string(r)
} else {
return fmt.Sprintf("\\u%04x", r)
}
}
https://play.golang.org/p/80w29oeBec1