V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
huazhouji
V2EX  ›  Node.js

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

  •  
  •   huazhouji · Jul 26, 2013 · 5145 views
    This topic created in 4661 days ago, the information mentioned may be changed or developed.
    在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 replies    1970-01-01 08:00:00 +08:00
    sharpnk
        1
    sharpnk  
       Jul 26, 2013
    > 想知道这个 61 62 63 叫做啥编码?

    ASCII

    试试:

    var buf = new Buffer('abc', 'utf-8');
    willwen
        2
    willwen  
       Aug 1, 2013
    Buffer放的是二进制数据。http://nodejs.org/api/buffer.html#buffer_buffer
    mrluanma
        4
    mrluanma  
       Aug 1, 2013
    试着只贴一个 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(' '));
    coolicer
        6
    coolicer  
       Aug 1, 2013
    一样的头像,好巧。
    anheiyouxia
        7
    anheiyouxia  
       Aug 2, 2013
    @coolicer 你们在一起吧~~~^_^
    huazhouji
        8
    huazhouji  
    OP
       Aug 2, 2013 via iPhone
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2506 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 06:09 · PVG 14:09 · LAX 23:09 · JFK 02:09
    ♥ Do have faith in what you're doing.