HTML 传输 字符转换 进制转换 15位 18位 时间戳 转换


<h1>中国</h1>

########################################

HTML字符实体 格式:&#ASCII码十进制数;
&#60;&#104;&#49;&#62;&#20013;&#22269;&#60;&#47;&#104;&#49;&#62;


1.在hmlt页面可以直接展示,且里面的html标签不起作用,以文本方式展示

2.java实现

    public static String encodeToHtmlEntity(String text){
        char[] arr = text.toCharArray();
        StringBuilder sb = new StringBuilder();
        for(char c:arr){
            int n = (int)c;
            sb.append("&#").append(n).append(";");
        }
        String str = sb.toString();
        return str;
    }
    public static String decodeFromHtmlEntity(String str){
        String[] arr = str.split(";");
        StringBuilder sb = new StringBuilder();
        for(String s:arr){
            String n = s.substring(2);
            char c = (char)Integer.parseInt(n);
            sb.append(c);
        }
        String m = sb.toString();
        return m;
    }


########################################

unicode 格式:uUnicode码十六进制数
u0026u006cu0074u003bu0068u0031u0026u0067u0074u003bu4e2du56fdu0026u006cu0074u003bu002fu0068u0031u0026u0067u0074u003b

1.在hmlt页面不能直接展示,需要js处理,处理后里面的html标签起作用

    function encodeToUnicode(data) { 
           if(data == '') return '请输入汉字';
           var str =''; 
           for(var i=0;i<data.length;i++)
           {
              str+="\u"+parseInt(data[i].charCodeAt(0),10).toString(16);
           }
           return str;
    } 
    function decodeFromUnicode(data) { 
            if(data == '') return '请输入十六进制unicode';
            data = data.split("\u");
            var str ='';
            for(var i=0;i<data.length;i++){
                if(i==0){
                    str += data[i];
                }else{
                    var text = data[i].substring(0, 4);
                    str += String.fromCharCode(parseInt(text,16).toString(10));
                    var n = data[i].length;
                    if(n>4){
                        var s = data[i].substring(4);
                        str += s;
                    }
                }
            }
            return str;
    } 


2.java实现

    public static String encodeToUnicode(String string) {
        StringBuffer unicode = new StringBuffer();  
       
        for (int i = 0; i < string.length(); i++) {  
       
            // 取出每一个字符  
            char c = string.charAt(i);  
       
            // 转换为unicode  
            unicode.append("\u" + Integer.toHexString(c));  
        }  
       
        return unicode.toString();  
    }

    public static String decodeFromUnicode(String unicode) {
        StringBuffer string = new StringBuffer();  
       
        String[] hex = unicode.split("\\u");  
       
        for (int i = 1; i < hex.length; i++) {  
       
            // 转换出每一个代码点  
            int data = Integer.parseInt(hex[i], 16);  
       
            // 追加成string  
            string.append((char) data);  
        }  
       
        return string.toString();  
    }

########################################

urlencode utf-8 格式:%ASCII码十六进制数
%3ch1%3e%e4%b8%ad%e5%9b%bd%3c%2fh1%3e

1.在hmlt页面不能直接展示,需要js处理,处理后里面的html标签起作用

    function encodeToUrlencode(data){
        return encodeURIComponent(data);
    }
    function decodeFromUrlencode(data){
        return decodeURIComponent(data);
    }

2.java实现

    public static String encodeToUrlencode(String data){
        try {
            return URLEncoder.encode(data, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            return data;
        } 
    }
    public static String decodeFromUrlencode(String data){
        try {
            return URLDecoder.decode(data, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            return data;
        } 
    }

########################################

15位 18位 时间戳 转换

1.18位转15位

// 获取当前时间戳(以s为单位)
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000;
//当前时间戳为:1403149534
console.log("当前时间戳为:" + timestamp);

2.获取某个时间的时间戳

// 获取某个时间格式的时间戳
var stringTime = "2014-07-10 10:21:12";
var timestamp2 = Date.parse(new Date(stringTime));
timestamp2 = timestamp2 / 1000;
//2014-07-10 10:21:12的时间戳为:1404958872 
console.log(stringTime + "的时间戳为:" + timestamp2);

3.将当前时间换成时间格式字符串

// 将当前时间换成时间格式字符串
var timestamp3 = 1403058804;
var newDate = new Date();
newDate.setTime(timestamp3 * 1000);
// Wed Jun 18 2014 
console.log(newDate.toDateString());
// Wed, 18 Jun 2014 02:33:24 GMT 
console.log(newDate.toGMTString());
// 2014-06-18T02:33:24.000Z
console.log(newDate.toISOString());
// 2014-06-18T02:33:24.000Z 
console.log(newDate.toJSON());
// 2014年6月18日 
console.log(newDate.toLocaleDateString());
// 2014年6月18日 上午10:33:24 
console.log(newDate.toLocaleString());
// 上午10:33:24 
console.log(newDate.toLocaleTimeString());
// Wed Jun 18 2014 10:33:24 GMT+0800 (中国标准时间)
console.log(newDate.toString());
// 10:33:24 GMT+0800 (中国标准时间) 
console.log(newDate.toTimeString());
// Wed, 18 Jun 2014 02:33:24 GMT
console.log(newDate.toUTCString());

Date.prototype.format = function(format) {
       var date = {
              "M+": this.getMonth() + 1,
              "d+": this.getDate(),
              "h+": this.getHours(),
              "m+": this.getMinutes(),
              "s+": this.getSeconds(),
              "q+": Math.floor((this.getMonth() + 3) / 3),
              "S+": this.getMilliseconds()
       };
       if (/(y+)/i.test(format)) {
              format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
       }
       for (var k in date) {
              if (new RegExp("(" + k + ")").test(format)) {
                     format = format.replace(RegExp.$1, RegExp.$1.length == 1
                            ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
              }
       }
       return format;
}
console.log(newDate.format('yyyy-MM-dd h:m:s'));
原文地址:https://www.cnblogs.com/difs/p/9585875.html