fetch请求一个gbk网站的html内容, 返回 arrayBuffer,如何把里面的中文乱码转换正确?
fetch(url1).then(function(response) {
            return response.arrayBuffer();
        }).then(function(buffer) {
            try{
                let r = iconvLite.decode(buffer, 'gbk');
                console.log(r)
            }catch(e){
                console.log(e)
            }
        });

图片说明
如上图,第一个是我输出的是fetch默认设置的header里面的编码格式,我试过改变成功gbk,可是没有效果
第二行就是iconvLite.decode(buffer, 'gbk');中的buffer,是ArrayBuffer类型的数据。
第三行是转换后的结果,是空的。。。。。。

感觉还差一步就可以成功了,但是就是不知道该怎么继续了,求指导。。。

0

1个回答

又是一个自问自答。。。
下面是我的解决办法
https://blog.csdn.net/xsb_20171227/article/details/86438890

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
nodejs-fetch请求结果中文乱码
    啰嗦事情的起因吧,最近在接入某美的影片接口,按照他们提供的文档试了一个接口,返回的是gbk编码的xml,服务端用的是nodejs,试了各种编码转换依然没有解决问题,相信努力总会有回报的,参考了https://www.oschina.net/code/snippet_1052456_26611,这篇文章,作者封装了原生的http请求,而没有用fetch,其实看到它这篇文章的时候几乎已经放弃了...
fetch API 简单解读
http://f2e.souche.com/blog/fetch-api-jie-du/?utm_source=tuicool&utm_medium=referral 在我们日常的前端开发中,XMLHttpRequest 是必不可少会遇到的一个东东。XHR 最初是由微软引入其 MSXML的,Web 开发者需要通过 ActiveX 去调用,而后,Mozilla 开发者开发了一个
NODE.JS 直接用request去获取网页会得到乱码的结果,解决方法
const cheerio = require('cheerio');const request = require('request');const options = {    method: 'get',    url: url,    encoding: null,};const fun = function () {    request(options, function (err, ...
php汉字乱码转换,gbk和utf8互转
function change_utf8($str) {     return mb_convert_encoding($str, 'utf-8', 'gbk'); } function change_gbk($str) {     return mb_convert_encoding($str, 'gbk', 'utf-8'); }
如何将乱码转化为UTF-8
1:右键>打开方式>记事本 2:选择左上角的文件(F)>选择另存为(A)...,弹出一个对话框,下面有一个编码,如果不是UTF-8,就选择成UTF-8,最后点击保存就可以了 可以将 乱码的 字符串 进行 utf-8 的转换。 String str = new String(乱码.getBytes("ISO-8859-1"),"UTF-8")); 是将ISO-8859-1转换为U...
网页获取JSON中文返回乱码解决方案(java)
懒得考虑各种字符编码问题了,用了一个比较暴力的方法,不只中文,所有双字节文字都可以避免乱码问题。
form表单提交以gbk编码
关于编码的 form 标签的属性accept-charset:可以指定form编码形式enctype: 规定在发送表单数据之前如何对其进行编码。有三种设置类型默认为application/x-www-form-urlencoded:发送前编码所有字符multipart/form-data:不对字符编码,包含文件上传控件的表单时,必须使用该值text/plain:空格转换为 "+" 加号,但不对特殊...
将GBK格式的文件转为UTF-8格式,避免中文乱码
java源码:将其它编码格式的文件转换成UTF-8格式,避免中文乱码。
解决中文字符乱码问题,如何将gbk格式转换utf-8格式
中文乱码的原因是因为编码格式是gbk的,而显示的时候是utf-8格式的,所以需要将其utf-8格式,才能正常显示出来。 1.gbk生成utf8程序需要经过两次转化。   1.gbk->unicode   2.unicode->utf8 2.gbkuni30_gen.h是gbk转化的unicode的数组,只有unicode部分,通过另一个文件程序可生成。gbk是索引(此文件可在我...
fetch API获取返回值的方式
使用fetch API来做后端请求,相比较传统的Ajax方式,在写出的代码上更加容易理解,也更便于别人看懂。但是在使用的过程中,经常有同学不能顺利从传统的Ajax请求(如果使用jquery的话,就是$.ajax,$.post,$.get)转移到新的fetch方式,很多时候就是卡在了获取响应数据的环节上。用fetch来获取数据,如果响应正常返回,我们首先看到的是一个response对象,其中包括返回的
react用fetch实现导出Excel表
// 由前端定义文件名及文件类型 exportByProductNo = (item) => { const reqUrl = `/api/configure/exportConfigure?productKey=${item.productNo}`; fetch(reqUrl).then(resp =>resp.blob()) .then(blob =&g...
html自带的fetch 异步请求 api
最简单的fetchAPI调用如下: fetch('https://api.github.com/users/chriscoyier/repos') .then(response => response.json()) .then(data => { // data就是我们请求的数据 console.log(data) }); fetch兼容性问题:可以...
【备忘】:fetch API获取返回值的方式
使用fetch API来做后端请求,相比较传统的Ajax方式,在写出的代码上更加容易理解,也更便于别人看懂。但是在使用的过程中,经常有同学不能顺利从传统的Ajax请求(如果使用jquery的话,就是$.ajax,$.post,$.get)转移到新的fetch方式,很多时候就是卡在了获取响应数据的环节上。 用fetch来获取数据,如果响应正常返回,我们首先看到的是一个response对象,
在response乱码是进行转码的通用格式
如果print(response.text)出现非utf-8格式时,通过以下方式进行统一的格式转换。def get_html(url): response = requests.get(url) return response.text.encode(response.encoding).decode('utf-8') #response.encoding为原来的编码格式,enc...
requests爬取中文网站的字符编码问题
这两天在一些门户网站使用requests爬数据的时候,发现打印或者保存到文件中的中文显示为Unicode码,看着十分不爽快,于是就必须网上找了一下相关问题。其实,弄明白了解决也很简单了    比如,爬取凤凰网response= requests.get("http://www.ifeng.com/")   我们都知道response有text和content这两个property,它们都是指响应内
Python将list中的unicode转换成中文显示
python list中unicode转换
GET方法获得html页面内容
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO;namespace ConsoleApplication1 {     class Program     {         static
html5之ArrayBuffer:类型化数组
类型化数组是JavaScript操作二进制数据的一个接口。 这要从WebGL项目的诞生说起,所谓WebGL,就是指浏览器与显卡之间的通信接口,为了满足JavaScript与显卡之间大量的、实时的数据交换,它们之间的数据通信必须是二进制的,而不能是传统的文本格式。 比如,以文本格式传递一个32位整数,两端的JavaScript脚本与显卡都要进行格式转化,将非常耗时。这时要是存在一种机制,可以像C
PHP tp5 ajax 返回的是整个html页面
问题代码 $.ajax({ type:'POST', url:'index/Comment/add', data:{'id':3,'user':user}, dataType: "json", success:function (res) { co
php 编码中文乱码转换
         $content="你好世界";             $content=urlencode($content);             $content=urldecode(json_encode($content));             var_dump($content);           ...
JavaScript解析带有GBK编码的中文二进制数据包
起因是现在做的东西需要解析二进制数据帧。本来是没有这么多麻烦事的,直接用Java或Python什么的几行代码就出来了。可是呢,事情没有这么简单,我要在前台直接解析这个帧!!我不能去数据库拿解析好的数据,也不能丢到后台解析完再拿回来,只能在前台解析,惆怅。 由于技术不够,查了好多资料,花了一天时间才搞出来。所以赶紧写记下来。 1.先看看我要干嘛 下面是我拿到的一帧数据,这一步的任务就是把
中午乱码转成文字
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 中午乱码转成文字 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xm...
Java发送Html请求,并解析返回的请求
今天是2008年7月7日星期一,下午一直在学校做个人开始页面。因为离不开google的翻译,所以想把google的翻译整合到我的开始页面中来,于是乎就遇到了一个问题,怎样使用java程序发送http请求然后截获远程服务器返回的数据进行适当处理之后再输出?另外,google的翻译页面是使用post的方法提交数据的,无法直接通过网址进行处理,于是乎,这又涉及到了一个怎样使用java去post数据的问题...
okhttp通过拦截器输出html源码内容
使用Retrofit加okhttp,如果返回失败的话,callback中response中不能看到失败的网页源码为此我们有两种方法,通过okhttp拦截器或者retrofit自定义ResponseConvertFactory实现public class ApiUtil { private static final int DEFAULT_TIMEOUT = 5; private Retr
解析Fetch实现请求数据 原
  一 序言      在 传统Ajax 时代,进行 API 等网络请求都是通过XMLHttpRequest或者封装后的框架进行网络请求,然而配置和调用方式非常混乱,对于刚入门的新手并不友好。今天我们介绍的Fetch提供了一个更好的替代方法,它不仅提供了一种简单,合乎逻辑的方式来跨网络异步获取资源,而且可以很容易地被其他技术使用,例如 Service Workers。      二 与Ajax对比...
浏览器发送一个请求到返回一个页面的具体过程
第一步,解析域名,找到ip 浏览器会缓存DNS一段时间,一般2-30分钟不等,如果有缓存,直接返回ip,否则下一步。缓存中无法找到ip,浏览器会进行一个系统调用,查询hosts文件。如果找到,直接返回ip,否则下一步。进行1 和2 本地查询无果,只能借助于网络,路由器一般都会有自己的DNS缓存,ISP服务商DNS缓存,这时一般都能够得到相应的ip,如果还是无果,只能借助于DNS递归解析了。这
终端使用curl请求url时返回乱码的解决
1.是用curl抓取的数据是用类似gzip压缩后的数据导致的乱码。乱码:curl www.1ting.com |more乱码:curl -H "Accept-Encoding: gzip"www.1ting.com | more不乱码:curl -H "Accept-Encoding: gzip"www.1ting.com | gunzip | more不乱码:curl www.1616.net ...
urllib2抓取网页出现中文编码问题
想要抓取http://www.biquge.la/book/3564/的内容,并解析出该小说的更新时间来提醒自己小说更新了,这样就不用时刻自己动手去刷网页,特别是不用在经历那种小说不更新的失落感了.可是在抓取该网页的过程中,却发现中文出现了乱码,虽然说不影响解析,但是不把它调整过来总觉着心里有根刺在卡着,于是便动手解决了这个问题,在这个过程中,还发现了其他的问题,乱码也有可能是gzip过,于是便想一
j2ee的web项目,在浏览器中发起一个该项目中html页面的绝对地址,也是发起的一个http url请求,请求的响应报文的结果就是该html页面的所有html代码
j2ee的web项目,在浏览器中发起一个该项目中html页面的绝对地址,也是发起的一个http url请求,请求的响应报文的结果就是该html页面的所有html代码。 如发起一个http://127.0.0.1:8080/testProject/html/authuser/authUser_add.html请求,authUser_add.html可能不是一个标准的html页面,只是一些h
js中获取中文相应gbk编码
工程中碰到一个需求,需要将中文字符转换成相应gbk编码格式,举例子说明:将汉字“组件”编码为16进制 0xD7 0xE9 0xBD 0xA8 为找到相应解决方案,进行了不少搜索与试验,结果却不尽如人意,没有能得到想要的结果,最后皇天不负有心人,还是找到了可行的js库(gbk.js)
http程序中:UTF-8转GBK解决中文乱码问题
直接上代码: string UTF8ToGBK(const string& strUTF8) { int len = MultiByteToWideChar(CP_UTF8,0,strUTF8.c_str(),-1,NULL,0); wchar_t* wszGBK = new wchar_t[len+1]; memset(wszGBK,0,(len+1)*sizeof(wchar_t));
requests爬取中文网页时中文字符变英文的解决方法
在使用python requests库爬取网页时,源代码中的中文字符在爬取下来后变成了英文字符例如:import requests r = requests.get('http://apps.webofknowledge.com', headers = {'User-Agent': 'Mozilla/5.0'})print(r.text[:1000])结果为:'<!DOCTYPE html&...
BeautifulSoup与requests爬取网页中文转码问题
本文转自:http://www.jianshu.com/p/69401b84419e requests和BeautifulSoup中文编码转换心得 最近在自学用python进行网页数据抓取,结果被中文乱码的问题折腾了好久。网上google了各种解决方案都无法解决我遇到的问题,索性自己深入的研究了下,终于把这难题给解决了。在此梳理下整个分析过程。 网站&开发工具 网站:htt
fetch获取解析json数据
因为在 Request 和 Response 中都包含 Body 的实现,所以包含以下类型: ArrayBufferArrayBufferView (Uint8Array and friends)Blob/FilestringURLSearchParamsFormData 在 fetch 中实现了对应的方法,并返回的都是 Promise 类型。那如何获取到我们的json数据呢?
抓取html页面中的json数据
遇见问题: 在开发爬虫时,我们有时需要抓取页面中的ajax的json数据。 解决方案: 采用正则表达式,高端大气上档次,重点是简洁,举个栗子: html页面: 上面省去N行。。。。 var userLogin = function(){ var jsonBean = { number:"177***7495", intLoginType:"4",
node——6-响应数据类型 Content-Type(解决中文乱码)
在服务端默认发送的数据,其实是 utf-8 编码的内容,但是浏览器不知道你是 utf-8 编码的内容 浏览器在不知道服务器响应内容的编码的情况下会按照当前操作系统的默认编码去解析 中文操作系统默认解析是 gbk 解决方法就是正确的告诉浏览器发送的编码格式,在 http 协议中,Content-Type 就是用来告诉对方发送数据内容的类型 let http = require('http'); ...
Python爬虫_乱码、转码
文章目录乱码问题描述利用encode和decode解决乱码问题 乱码问题描述 在爬取网页时,出现中文乱码情况,如下图: 原因:源网页编码和爬取下来后的编码格式不一致 利用encode和decode解决乱码问题 字符串在python内部的表示是Unicode编码,在做编码转换时,通常需要以Unicode作为中间编码,即先将其他编码的字符串解码(decode)成Unicode,再从Unicode...
通过http请求获取指定url的页面
根据url获取其静态页面
日文乱码转换工具
Locale Emulator(日文游戏乱码转换工具)2.4.0.0官方版
LR中文乱码总结
中文乱码解决方法总结: 录制中文乱码 打开Tools-Recording Options,切换到Advanced,勾选Support charset和UTF-8 回放中文乱码 Run-time Settings-Internet Protocol-Preferences-Options-Convert from/to UTF-8,设置为YES   调整浏览器的编码:查看-编码-Unic...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 html网页制作教程网站 中文的java学习网站