001golang中的字符串编码问题无标题文章

  1. golang 编程中默认使用的编码是UTF-8

  2. golang 编码库 mahonia 可以用作编码的扩展。 https://github.com/frank2019/mahonia

  3. json中传输html的时候,会自动对其中的< > 等符号进行编码转义,即HTMLEscape。 另一端接受使用的时候,需要对其转换回来。 一般json库都会自动处理。但是如果自己解析json的时候,就需要注意处理了。

  4. HTMLEscape 反转义的处理,java 例子:

     String str2 = str1.replace("\\u003c","<").replace("\\u003e",">").replace("\\u0026","&").replace("\\u2028","U+2028").replace("\\u2029","U+2029").replace("\\\"","\"");
    

    func HTMLEscape
    func HTMLEscape(dst *bytes.Buffer, src []byte)
    

    HTMLEscape 函数将json编码的src中的<、>、&、U+2028 和U+2029字符替换为\u003c、\u003e、\u0026、\u2028、\u2029 转义字符串,以便json编码可以安全的嵌入HTML的<script>标签里。因为历史原因,网络浏览器不支持在<script>标签中使用标准HTML转义, 因此必须使用另一种json编码方案。

  5. golang实现unicode码和中文之间的转换

  6. golang的mahonia字符集转换工具用法