If you run fmt.Println(\"\\u554a\")
, it shows \'啊\'.
But how to get unicode-style-string \\u554a
from a rune \'啊\' ?
IMHO, it should be better:
func RuneToAscii(r rune) string {
if r < 128 {
return string(r)
} else {
return "\\u" + strconv.FormatInt(int64(r), 16)
}
}
fmt.Printf("\\u%X", '啊')
http://play.golang.org/p/Jh9ns8Qh15
(Upper or lowercase 'x' will control the case of the hex characters)
As hinted at by package fmt's documentation:
%U Unicode format: U+1234; same as "U+%04X"