Mik*_*ier 4 encoding buffer utf-8 node.js
我utf8从源接收数据,这些数据最初是二进制形式(它是a Buffer).我必须将这些数据转换回来Buffer.我很难搞清楚如何做到这一点.
这是一个显示我的问题的小样本:
var hexString = 'e61b08020304e61c09020304e61d0a020304e61e65';
var buffer1 = new Buffer(hexString, 'hex');
var str = buffer1.toString('utf8');
var buffer2 = new Buffer(str, 'utf8');
console.log('original content:', hexString);
console.log('buffer1 contains:', buffer1.toString('hex'));
console.log('buffer2 contains:', buffer2.toString('hex'));
Run Code Online (Sandbox Code Playgroud)
版画
original content: e61b08020304e61c09020304e61d0a020304e61e65
buffer1 contains: e61b08020304e61c09020304e61d0a020304e61e65
buffer2 contains: efbfbd1b08020304efbfbd1c09020304efbfbd1d0a020304efbfbd1e65
Run Code Online (Sandbox Code Playgroud)
在这里,我想buffer2与之完全相同buffer1.
如何将utf8字符串转换为其原始二进制文件Buffer?
由于utf8的工作方式(特别是当替换为无效的utf8字符时\ufffd),您不能指望转换为utf8并再次返回的二进制数据与原始二进制数据相同.
您必须使用另一种正确保留数据的格式.这可以是'hex','base64','binary'或第三方模块提供的其他二进制安全格式.显然,如果可以的话,你应该把它作为缓冲区.
| 归档时间: |
|
| 查看次数: |
4934 次 |
| 最近记录: |