首页前端开发JavaScriptjavascript字符串转换成utf-8编码方式有哪些

javascript字符串转换成utf-8编码方式有哪些

时间2024-01-30 03:07:03发布访客分类JavaScript浏览288
导读:收集整理的这篇文章主要介绍了javascript字符串转换成utf-8编码方式有哪些,觉得挺不错的,现在分享给大家,也给大家做个参考。javascript字符串转换成utf-8编码方式有:1、支持window.TextEncoder( 的情...
收集整理的这篇文章主要介绍了javascript字符串转换成utf-8编码方式有哪些,觉得挺不错的,现在分享给大家,也给大家做个参考。

javascript字符串转换成utf-8编码方式有:1、支持window.TextEncoder()的情况,语法“TextEncoder('utf8'); ”;2、利用encodeURI的编码进行替换,语法“encodeURI(字符串)”。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

实践中碰到了一个大问题,在 javascript 中,可能有一些中文字符串,我们想将其进行二进制流编码的时候,需要将其转换为 utf8 的编码。

也就是说,输入的是一个字符串:'呆滞的慢板今天挣了100块钱'。

输出的是一个字节序列:

[229, 145, 134, 230, 187, 158, 231, 154, 132, 230, 133, 162, 230, 157, 191, 228, 187, 138, 229, 164, 169, 230, 140, 163, 228, 186, 134, 49, 48, 48, 229, 157, 151, 233, 146, 177]

又或者是这一个单字节的字符串:

"\xE5\x91\x86\xE6\xBB\x9E\xE7\x9A\x84\xE6\x85\xA2\xE6\x9D\xBF\xE4\xBB\x8A\xE5\xA4\xA9\xE6\x8C\xA3\xE4\xBA\x86100\xE5\x9D\x97\xE9\x92\xB1""呆滞的慢板今天挣了100块钱"

经过不懈的折腾,终于搞明白了,有两种解决方案:

1. 支持 window.TextEncoder() 的情况

function str2utf8(str) {
        encoder = new TextEncoder('utf8');
            return encoder.encode(str);
}
    

这种返回的是一个整数数组。

2. 利用 encodeURI 的编码进行替换

原理是,如果使用 encodeURI(str),其中如果碰到中文字符之类的,就会按照 utf8 编码之后变成 %E5%91 这个样子,我们利用这个,完了之后再将 % 替换成 \x,就得到了单个字节的串。

function str2utf8(str) {
        return eval('\''+encodeURI(str).replace(/%/gm, '\\x')+'\'');
}
    

3. 综合使用

于是,我们综合来定义一个兼容的方案:

VAR str2utf8 = window.TextEncoder ? function(str) {
        var encoder = new TextEncoder('utf8');
        var bytes = encoder.encode(str);
        var result = '';
        for(var i = 0;
     i  bytes.length;
 ++i) {
            result += String.FromCharCode(bytes[i]);
    }
        return result;
}
 : function(str) {
        return eval('\''+encodeURI(str).replace(/%/gm, '\\x')+'\'');
}
    

【推荐学习:javascript高级教程】

以上就是javascript字符串转换成utf-8编码方式有哪些的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: JavaScript怎么给CSS加样式下一篇:javascript用什么方法触发按钮的...猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: javascript字符串转换成utf-8编码方式有哪些
本文地址: https://pptw.com/jishu/591959.html
javascript用什么方法触发按钮的被点击事件 servlet中定义的变量如何传给javascript函数

游客 回复需填写必要信息