Encoding 如何在http响应正文中返回编码字符串?

Encoding 如何在http响应正文中返回编码字符串?,encoding,go,Encoding,Go,向http响应中添加编码字符串似乎会将某些字符替换为!F(失踪)。如何防止这种情况 输出: {“encodedText”:“M6c8RqL61nMFy%!F(缺失)hqmcisyrh9zxgvvvjo”} 代码: 它似乎在正常转义,你能粘贴一些代码吗 您正在使用转义值“M6c8RqL61nMFy%2FhQmciSYrh9ZXgVFVjO”作为此行的格式字符串: fmt.Fprintf(w, string(response)) Fprintf尝试格式化动词“%2F”的参数。没有参数,因此Fpr

向http响应中添加编码字符串似乎会将某些字符替换为!F(失踪)。如何防止这种情况

输出:

{“encodedText”:“M6c8RqL61nMFy%!F(缺失)hqmcisyrh9zxgvvvjo”}

代码:


它似乎在正常转义,你能粘贴一些代码吗


您正在使用转义值“M6c8RqL61nMFy%2FhQmciSYrh9ZXgVFVjO”作为此行的格式字符串:

fmt.Fprintf(w, string(response))
Fprintf尝试格式化动词“%2F”的参数。没有参数,因此Fprintf为动词打印“%!F(缺少)”

解决方法是不将输出用作格式字符串。因为写入响应时不需要任何格式,所以将最后一行更改为:

w.Write(response)            

谢谢查理,我明白了。有关于修复的建议吗?:)感谢Pram指出问题不是url.QueryeScape解决的。谢谢你,查理。:)
fmt.Fprintf(w, string(response))
w.Write(response)