中文轉換成html中的utf-8


在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
}
    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM