标签:mat 工具包 bsp integer ati 网页 中文 har i++
在HTML中,中文的“好好学习”可以表示为 “好好学习”
在项目中,需要对接短信告警,短信告警返回数据要求是utf8的
后来继续沟通,才发现要的是html-utf8的;
没有找到合适的golang工具包,涉及语言转码的包主要有
mahonia,支持各种格式的数据转换,gbk,utf8,gb2312
net/html,支持网页转码,改的是转换网页中的<,>,&,‘,‘,.
根据网上经验,提供三个版本的转换
转换过程
Javascript
1 function ConvUtf8(obj) { 2 return obj.replace(/[^\u0000-\u00FF]/g, function ($0) { return escape($0).replace(/(%u)(\w{4})/gi, "&#x$2;") }); 3 }
JAVA
1 public static String UTF8_html_conv(String str){ 2 StringBuffer stbPreemptionArg = new StringBuffer(); 3 for(int i = 0;i<str.length();i++){ 4 if (str.codePointAt(i) > 255){ 5 stbPreemptionArg.append("&#x"+Integer.toString(str.charAt(i), 16)+";"); 6 }else{ 7 stbPreemptionArg.append(str.charAt(i)); 8 } 9 } 10 return stbPreemptionArg.toString(); 11 }
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 }
标签:mat 工具包 bsp integer ati 网页 中文 har i++
原文地址:https://www.cnblogs.com/Shoudler/p/11819201.html