zoukankan      html  css  js  c++  java
  • JavaScript中字符串与Unicode编码的互相转换-转

    这段代码演示了JavaScript中字符串与Unicode编码的转换:

    // 为了控制台的演示方便, 变量没有添加 var 定义
    // 实际编程中请避免
    
    // 字符串
    str = "中文";
    // 获取字符
    char0 = str.charAt(0); // "中"
    
    // 数字编码值
    code = str.charCodeAt(0); // 20013
    // 编码互转
    str0 = String.fromCharCode(code); // "中"
    
    // 转为16进制数组
    code16 = code.toString(16); // "4e2d"
    
    // 变成字面量表示法
    ustr = "\u"+code16; // "u4e2d"
    
    // 包装为JSON
    jsonstr = '{"ustr": "'+ ustr +'"}'; //'{"ustr": "u4e2d"}'
    
    // 使用JSON工具转换
    obj = JSON.parse(jsonstr); // Object {ustr: "中"}
    //
    ustr_n = obj.ustr; // "中"
    

    如果是一组字符串,则需要使用到 for 循环来处理。

    其中,我们使用了JSON工具来进行转换。

    如果要兼容 IE6等浏览器,则可用如下形式进行解析:

            if("object" === typeof message){
                // 如果是对象,则不进行转换
            } else if(window["JSON"]){
                message = JSON.parse(message);
            } else { // IE6, IE7
                message = eval("("+ message + ")");
            }
    

    参考资料:

    http://blog.csdn.net/renfufei/article/details/47258309

    http://blog.csdn.net/low584710047/article/details/46652129

    http://es6.ruanyifeng.com/?search=unicode&x=0&y=0#docs/string#字符的-Unicode-表示法

  • 相关阅读:
    P2082 区间覆盖(加强版)
    Java基础
    @import
    POST方式"Content-type"是"application/x-www-form-urlencoded 的请求遇到的问题
    VBox 安装 macOS 10.12
    对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
    window.location 属性
    post get 区别
    vue 生命周期
    记事本
  • 原文地址:https://www.cnblogs.com/masita/p/8507579.html
Copyright © 2011-2022 走看看