elaine_fu666 2015-10-15 03:15
浏览 6283
已结题

lua中编码转换 utf16转utf8,unicode转utf8

lua中怎么从utf16转到utf8 ?
从网上找到个js的实现方法,但是不知道参数是什么,

 function utf16ToUtf8(s){  
    if(!s){  
        return;  
    }  

    var i, code, ret = [], len = s.length;  
    for(i = 0; i < len; i++){  
        code = s.charCodeAt(i);  
        if(code > 0x0 && code <= 0x7f){  
            //单字节  
            //UTF-16 0000 - 007F  
            //UTF-8  0xxxxxxx  
            ret.push(s.charAt(i));  
        }else if(code >= 0x80 && code <= 0x7ff){  
            //双字节  
            //UTF-16 0080 - 07FF  
            //UTF-8  110xxxxx 10xxxxxx  
            ret.push(  
                //110xxxxx  
                String.fromCharCode(0xc0 | ((code >> 6) & 0x1f)),  
                //10xxxxxx  
                String.fromCharCode(0x80 | (code & 0x3f))  
            );  
        }else if(code >= 0x800 && code <= 0xffff){  
            //三字节  
            //UTF-16 0800 - FFFF  
            //UTF-8  1110xxxx 10xxxxxx 10xxxxxx  
            ret.push(  
                //1110xxxx  
                String.fromCharCode(0xe0 | ((code >> 12) & 0xf)),  
                //10xxxxxx  
                String.fromCharCode(0x80 | ((code >> 6) & 0x3f)),  
                //10xxxxxx  
                String.fromCharCode(0x80 | (code & 0x3f))  
            );  
        }  
    }  

    return ret.join('');  
} 
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 用visualstudio2022创建vue项目后无法启动
    • ¥15 问一下,定向解包是什么意思
    • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
    • ¥500 把面具戴到人脸上,请大家贡献智慧
    • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
    • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
    • ¥30 c#打开word开启修订并实时显示批注
    • ¥15 如何解决ldsc的这条报错/index error
    • ¥15 VS2022+WDK驱动开发环境
    • ¥30 关于#java#的问题,请各位专家解答!