V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huazhouji
V2EX  ›  Node.js

小白请教“关于Buffer的toString”的问题

  •  
  •   huazhouji · 2013-07-26 21:14:19 +08:00 · 4088 次点击
    这是一个创建于 3917 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在REPL下:
    > new Buffer('abc')
    <Buffer 61 62 63>
    想知道这个 61 62 63 叫做啥编码?
    然后有啥function可以输入一个字符串,输出对应的这堆 61 62 63 。。。。

    白天自己尝试了一下:
    var buf = new Buffer('abc');
    var util = require('util');

    var arr = util.inspect(buf).replace(/<Buffer /,'').replace(/>/,'').split(/\s+/);

    var ret = '';
    arr.map(function(e,i){
    ret += ' ' + e;
    });

    console.log(ret);
    这样子可以得到,不过发现输入的字符串长度超过一定length后,输出就变成这样了:
    61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 61 62 63 ...
    最后有 ...

    请教高手怎么得到完整的结果呢?
    8 条回复    1970-01-01 08:00:00 +08:00
    sharpnk
        1
    sharpnk  
       2013-07-26 21:31:04 +08:00
    > 想知道这个 61 62 63 叫做啥编码?

    ASCII

    试试:

    var buf = new Buffer('abc', 'utf-8');
    willwen
        2
    willwen  
       2013-08-01 09:23:09 +08:00
    Buffer放的是二进制数据。http://nodejs.org/api/buffer.html#buffer_buffer
    mrluanma
        3
    mrluanma  
       2013-08-01 10:52:11 +08:00
    mrluanma
        4
    mrluanma  
       2013-08-01 10:54:41 +08:00
    试着只贴一个 gist 连接貌似不行: https://gist.github.com/mrluanma/7fa587dfb46eb864df64

    var buf = new Buffer(new Array(100).join('abc'));

    var arr = new Array();

    for (var i = 0; i < buf.length; i++) {
    arr.push(buf[i].toString(16));
    }

    console.log(arr.join(' '));
    mrluanma
        5
    mrluanma  
       2013-08-01 11:04:16 +08:00
    coolicer
        6
    coolicer  
       2013-08-01 14:20:47 +08:00
    一样的头像,好巧。
    anheiyouxia
        7
    anheiyouxia  
       2013-08-02 00:04:25 +08:00
    @coolicer 你们在一起吧~~~^_^
    huazhouji
        8
    huazhouji  
    OP
       2013-08-02 08:19:11 +08:00 via iPhone
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1030 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:58 · PVG 03:58 · LAX 12:58 · JFK 15:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.