浏览器内javascript 转换gbk文本到UTF8编码(chrome, firefox only)
我们在使用xmlhttprequest获取文本内容时,如果服务器返回的是gbk(或gb2312等非utf8编码)内容,那么得到的是一堆乱码,如何转换为浏览器内默认的utf8编码的文字?
其实如果您使用的是chrome 或 firefox浏览器,则非常简单,可以使用浏览器内置对象TextDecoder进行转换。
javascript示例代码:
if ('TextDecoder' in window) {var files = {'gbk.txt': 'gbk'};Object.keys(files).forEach(function(file) {fetchAndDecode(file, files[file]);});} else {console.error('Your browser does not support the Encoding API.');}function fetchAndDecode(file, encoding) {var xhr = new XMLHttpRequest();xhr.open('GET', file);xhr.responseType = 'arraybuffer';xhr.onload = function() {if (this.status == 200) {var dataView = new DataView(this.response);var decoder = new TextDecoder(encoding);var decodedString = decoder.decode(dataView);console.info(decodedString);} else {console.error('Error while requesting', file, this);}};xhr.send();}
其实不只是gbk, 只要是浏览器支持的编码(见链接3),都可以轻松进行转换。
参考:
1. https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder
2. Easier ArrayBuffer String conversion with the Encoding API
3. https://encoding.spec.whatwg.org/
浏览器内javascript 转换gbk文本到UTF8编码(chrome, firefox only)相关推荐
- 【Unity Editor工具制作-文本转UTF-8编码、用WPS表格打开表格、用WPS表格打开】
Unity Editor工具制作 文本转UTF-8编码 用NotePad打开 用WPS表格打开 文本转UTF-8编码 [MenuItem("Assets/文本转UTF-8编码")] ...
- Python3小程序:把字符串转换成连续的UTF8编码(16位)
# coding: utf-8 import binascii ''' 参考代码1 mystery = b"\xe5\x88\xab" x = mystery.decode('ut ...
- python编码转换在线_在线UTF-8编码汉字互转 | utf8编码转换器
一.UTF-8是什么? UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码.由Ken Thompson于1992 ...
- java url gbk编码转换_如何在一个utf-8编码的HTML中 在javascript中url跳转时把url中的汉字改为GBK编码...
展开全部 html文件中私用32313133353236313431303231363533e78988e69d8331333337623465JavaScript将url的汉子转为为GBK编码,主要 ...
- 批量转换 gbk 文件到utf8 文件,不引用三方类库【 java 代码】
由于需要批量转换源代码从gbk编码到utf8,所以写了这个工具类. mac下面jdk11 环境执行通过 String path = ""; 替换成 文件或者目录,运行程序即可完成批 ...
- js html utf8编码转换,js中的UTF-8编码与解码
讲解之前我们先了解一些基本概念,什么是字符集?字符集就像一张表,这个表里面有很多的符号,每个符号都可以通过下标(这个符号在表的中的序号)对应到,有点类似js中的map,例如97这个下标代表的就是符号a ...
- signature=b8cae5ae994df93c3fedf622c2a51ac5,javascript中的Base64、UTF8编码与解码详解
Base64编码说明 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式. 如果剩下的字符不足3个字节,则用0填充 ...
- html中转换utf8编码,如何将html网页utf-8编码转换到utf-8编码互转换
HTML网页是有编码的,在head区域内的这句话是告诉浏览器,该网页采用的是utf-8编码,也就是简体中文编码.当文章/网页中包含繁体中文.日文.韩文时,这些内容可能无法被正确编码. UTF-8是UT ...
- html utf8转换工具,GB/BIG5/UTF-8 文件编码批量转换工具
GB/BIG5/UTF-8 文件编码批量转换工具是一款单一文件与批量转换编码工具将 GB.BIG5.UTF-8 文件相互转换,方便的批量处理能力,主要用于网站文件编码方式的整体转换上. 某天, ...
最新文章
- windows系统解决github.com访问超时
- C语言学习笔记--预编译/宏定义/数组/参数传递/函数指针
- Java 20年:历史与未来
- Linq 实现 DataTable 行转列
- java获取mysql执行计划_好程序员Java学习路线之MySQL的执行计划
- php静态stitac,php静态static介绍
- springboot整合freemarker中文乱码
- 佛祖保佑,永无BUG
- LINUX中获得cpu名称
- Windows下安装Redis图文教程
- 全面拆解携程云原生实践,打造智能弹性的云端酒店直连系统
- 虚拟服务器修改教程,飘渺雪域商业一键虚拟端+修改元宝教程【无标题亲测
- 猫云bootcdn.cn
- 如何下载股票的历史收盘价 股票历史收盘价下载方法
- 机器视觉halcon——距离测量
- 卷积神经网络膨胀卷积
- 成功股权激励方案的特点
- python实现证件照更换背景颜色
- 去哪儿实习面经(拿到offer)
- 高德(百度)地图驾车路线规划和清除
热门文章
- 分类信息的上市之战,58同城为何能先人一步?
- 性能测试之性能测试需求分析
- e语言mysql怎么放在超级列表框,『易语言怎么将超级列表框的内容保存到excel或者Access!』...
- Mybatis-Plus动态表名插件实现数据库分表查询
- 计算机专业就业率就业薪资图表,10大热门专业“工资”大揭秘,软件工程最高,会计垫底?...
- PHP 获取 IP 地址 函数封装
- 强制删除docker容器
- #今日论文推荐# ICDE 2022 | 港大等提出:基于时空自监督学习的犯罪预测
- VR交互动画短片《拾梦老人》的开发经历
- linux 程序怎么执行文件格式,linux汇编之——(1)ELF:Linux可执行程序文件格式