博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs中web请求乱码
阅读量:5128 次
发布时间:2019-06-13

本文共 753 字,大约阅读时间需要 2 分钟。

原网页 今天在写代码通过nodejs中http的get获取数据的时候中文有时候会是乱码 看nodejs文档中的示例代码也是这样写   let rawData = '';   res.on('data', (chunk) => rawData += chunk);   res.on('end', () => {
try {
let parsedData = JSON.parse(rawData); console.log(parsedData); } catch (e) {
console.log(e.message); } }); 这代码一般情况下是没有什么问题的,如果有中文的时候是有可能会是乱码 刚开始不知道怎么回事 后来明白了 其中chunk是buffer对象保存的是字节,这是根据socket的二进制数据 因为中文的utf8一个中文一般是3-4个字节,如果字节不全的话转成字符串的时候就会乱码了 所以上的代码要改成 let uData = Buffer.allocUnsafe(0); res.on('data', (chunk) => {uData = Buffer.concat([uData, chunk], uData.length + chunk.length);}); res.on('end', () => {
uData = uData.toString(); let mt = uData.match(appconfig.reg[si][li]); }); 这样中文中不就没有乱码了

 

 

转载于:https://www.cnblogs.com/hongyi1159/p/6705972.html

你可能感兴趣的文章
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Python IO模型
查看>>
DataGridView的行的字体颜色变化
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Android-多线程AsyncTask
查看>>
LeetCode【709. 转换成小写字母】
查看>>
CF992E Nastya and King-Shamans(线段树二分+思维)
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
linux install ftp server
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
WCF揭秘——使用AJAX+WCF服务进行页面开发
查看>>
【题解】青蛙的约会
查看>>
IO流
查看>>
mybatis调用存储过程,获取返回的游标
查看>>
设计模式之装饰模式(结构型)
查看>>
面向对象的设计原则
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
autopep8
查看>>