金狮镖局 Design By www.egabc.com
本文实例讲述了Node.js API详解之 string_decoder用法。分享给大家供大家参考,具体如下:
string_decoder 模块提供了一个 API,用于把 Buffer 对象解码成字符串。
对于参数末尾不完整的多字节字符,string_decoder会将其保存在内部的buffer中,当再次解码时,补充到参数开头。
通过 const { StringDecoder } = require(‘string_decoder'); 的方式引用string_decoder模块。
目录:
- new StringDecoder([encoding])
- stringDecoder.write(buffer)
- stringDecoder.end([buffer])
new StringDecoder([encoding])
说明:
创建一个新的StringDecoder实例,可传递encoding参数作为字符编码格式,默认为'utf8′
stringDecoder.write(buffer)
说明:
返回一个解码后的字符串,并确保返回的字符串不包含残缺的多字节字符,残缺的多字节字符会被保存在一个内部的 buffer 中,
用于下次调用 stringDecoder.write() 或 stringDecoder.end()。
buffer:待解码的Buffer
demo:
const decoder = new StringDecoder('utf8'); //字符的16进制小于0x80属于单字节 let outString = decoder.write(Buffer.from([0x78, 0x69, 0x61, 0x6f, 0x71, 0x69, 0x61, 0x6e, 0x67])); console.log(outString); //xiaoqiang //字符的16进制大于0x80属于双字节 outString = decoder.write(Buffer.from([0xC2, 0xA2])); console.log(outString); //¢ //单双字节混合,置于末尾 outString = decoder.write(Buffer.from([0x78, 0x69, 0x61, 0x6f, 0x71, 0x69, 0x61, 0x6e, 0x67, 0xC2])); console.log(outString); //xiaoqiang outString = decoder.write(Buffer.from([0xA2])); console.log(outString); //¢ //单双字节混合,置于中间 outString = decoder.write(Buffer.from([0x78, 0x69, 0x61, 0x6f, 0x71, 0xC2, 0x69, 0x61, 0x6e, 0x67])); console.log(outString); //xiaoq"font-size: medium">stringDecoder.end([buffer])说明:
以字符串的形式返回内部 buffer 中剩余的字节,残缺的字节会被替换成符合字符编码的字符
如果提供了 buffer 参数,则在返回剩余字节之前会再执行一次 stringDecoder.write()demo:
const decoder = new StringDecoder('utf8'); //字符的16进制小于0x80属于单字节 let outString = decoder.write(Buffer.from([0x78, 0x69, 0x61, 0x6f, 0x71, 0x69, 0x61, 0x6e, 0x67])); console.log(outString); //xiaoqiang outString = decoder.end(); console.log(outString); // //单双字节混合,置于末尾 outString = decoder.write(Buffer.from([0x78, 0x69, 0x61, 0x6f, 0x71, 0x69, 0x61, 0x6e, 0x67, 0xC2])); console.log(outString); //xiaoqiang outString = decoder.end(Buffer.from([0xA2])); console.log(outString); //¢ //单双字节混合,置于末尾 outString = decoder.write(Buffer.from([0x78, 0x69, 0x61, 0x6f, 0x71, 0x69, 0x61, 0x6e, 0x67, 0xC2])); console.log(outString); //xiaoqiang outString = decoder.end(); console.log(outString); //?希望本文所述对大家node.js程序设计有所帮助。
金狮镖局 Design By www.egabc.com
金狮镖局
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
金狮镖局 Design By www.egabc.com
暂无Node.js API详解之 string_decoder用法实例分析的评论...
更新日志
2024年09月27日
2024年09月27日
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】
- 李恕权.2003-回·20年全精选2CD【SONY】【WAV+CUE】
- 赞多《序章》[FLAC/分轨][129.13MB]
- 群星《完美的她 影视原声带》[320K/MP3][51.98MB]
- 群星《完美的她 影视原声带》[FLAC/分轨][141.05MB]
- 山风点伙.1997-深藏不露【立得】【WAV+CUE】
- 李幸倪.2018-First.Of.All.Live.Concert.3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 李恕权.2003-回·20年全精选2CD【SONY】【WAV+CUE】
- 群星《你就在我身边 电影原声专辑》[320K/MP3][26.68MB]
- 群星《你就在我身边 电影原声专辑》[FLAC/分轨][70.27MB]