Несколько Unicode, как '\ u7cfb' со смешанной строкой, как конвертировать в обычный текст - PullRequest
0 голосов
/ 18 марта 2020
a:="\u5206\u7ec4\u6570\u4e0d\u80fd\u5927\u4e8e20\u4e2a"
fmt.Println(a) // output: 分组数不能大于20个

это сегмент http-отклика, я хочу записать его в журнал, в журнале должно быть "not" \ u5206 \ u7ec4 \ u6570 \ u4e0d \ u80fd \ u5927 \ u4e8e20 \ u4e2a "

обратите внимание на" \ u4e8e20 "
" \ u4e8e "- это китайский символ" 于 ",
" 20 "- это просто буквенное число.
как преобразовать переменная a к выводу, например, fmt.Println (a)?

не просто распечатать его

Я нашел какой-то фрагмент кода, но ошибка при включении с помощью "\ u4e8e20", вывести "分组 数 不能 大于 ⁎ ⁎ "

func u2s(form string) (to string, err error) {
    bs, err := hex.DecodeString(strings.Replace(form, `\u`, ``, -1))
    if err != nil {
        return
    }
    for i, bl, br, r := 0, len(bs), bytes.NewReader(bs), uint16(0); i < bl; i += 2 {
        binary.Read(br, binary.BigEndian, &r)
        to += string(r)
    }
    return
}

1 Ответ

0 голосов
/ 18 марта 2020

ответ http:

{"code":"100001","msg":"\u5206\u7ec4\u6570\u4e0d\u80fd\u5927\u4e8e20\u4e2a","data":{}}

решение - json. Unmarshal, затем json .Marshal, поле msg, затем читаемое человеком, и спасибо @Volker @Flimzy @kostix, ваш комментарий очень полезно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...