中文转换成html中的utf-8

一把人才 · · 677 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

在HTML中,中文的“好好学习”可以表示为 “好好学习”

在项目中,需要对接短信告警,短信告警返回数据要求是utf8的

后来继续沟通,才发现要的是html-utf8的;

没有找到合适的golang工具包,涉及语言转码的包主要有

mahonia,支持各种格式的数据转换,gbk,utf8,gb2312

net/html,支持网页转码,改的是转换网页中的<,>,&,',',.

根据网上经验,提供三个版本的转换:

Javascript

function ConvUtf8(obj) {

returnobj.replace(/[^\u0000-\u00FF]/g,function($0) {returnescape($0).replace(/(%u)(\w{4})/gi, "&#x$2;") });

}

JAVA

public static String UTF8_html_conv(String str){

StringBuffer stbPreemptionArg = new StringBuffer();

for(int i = 0;i<str.length();i++){

if (str.codePointAt(i) > 255){

stbPreemptionArg.append("&#x"+Integer.toString(str.charAt(i), 16)+";");

}else{

stbPreemptionArg.append(str.charAt(i));

}

}

return stbPreemptionArg.toString();

}

Golang

func CovertToHtml(src string) string{

    rs := []rune(src)

    htmlUtf8 := ""

    for _, r := range rs {

        rint := int(r)

        if rint < 128 {

            htmlUtf8 += string(r)

        } else {

            //utf8 = "\\u"+strconv.FormatInt(int64(rint), 16)

            htmlUtf8 += "&#x"+strconv.FormatInt(int64(rint), 16) + ";"

        }

    }

return htmlUtf8

}


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:一把人才

查看原文:中文转换成html中的utf-8

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

677 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传