Welcome to the Linux Foundation Forum!

Chapter 11, Lab 2 Problem

Hi, just getting right to the subject... I have tried to use Buffer.from(str), but after asserting, i notice that the error returned had a completly different number of bytes than the one with which is compared to.
So, i used Buffer.from(asserted_array_of_bytes).toString() and the value of that is YnVmZmVycyBhcmUgbmVhdA==.

My question here is ( because i don't want the answer, i rather find the answer by myself, but a little bit of guidance is welcomed ): Am i doing something wrong, and the assert should work just fine if str is being converted properly ?

Thanks.

Best Answer

  • Posts: 270
    Answer ✓

    hey @assist it needs to be a base64 representation of str, but what you're creating is is a Buffer of str. So you need to modify your answer so that it's a string containing a base64 of str

Answers

  • Guys, I am also struggling with this one. Can someone give me a light here?

    What i tried so far:

    Spoiler
    1. "use strict";
    2. const assert = require("assert");
    3. const str = "buffers are neat";
    4.  
    5. const buffer = Buffer.from(str);
    6. const base64string = buffer.toString("base64");
    7. const base64 = Buffer.from(base64string, "base64");
    8. console.log("base64: ", base64);
    9.  
    10. assert.strictEqual(
    11. base64,
    12. Buffer.from([
    13. 89, 110, 86, 109, 90, 109, 86, 121, 99, 121, 66, 104, 99, 109, 85, 103, 98,
    14. 109, 86, 104, 100, 65, 61, 61,
    15. ])
    16. );
    17.  
    18. console.log("passed!");

    I've also tried:

    Spoiler
    1. "use strict";
    2. const assert = require("assert");
    3. const str = "buffers are neat";
    4.  
    5. const base64 = Buffer.from(str, "base64");
    6. console.log("base64: ", base64);
    7.  
    8. assert.strictEqual(
    9. base64,
    10. Buffer.from([
    11. 89, 110, 86, 109, 90, 109, 86, 121, 99, 121, 66, 104, 99, 109, 85, 103, 98,
    12. 109, 86, 104, 100, 65, 61, 61,
    13. ])
    14. );
    15.  
    16. console.log("passed!");

    Unfortunately there's something that I am not getting here... I tried to re-read the material, but i could not find anything to help me. Can someone share a solution? This one seems silly but there's something that I am not getting yet...

  • @jwandekoken said:
    Guys, I am also struggling with this one. Can someone give me a light here?

    What i tried so far:

    Spoiler
    1. "use strict";
    2. const assert = require("assert");
    3. const str = "buffers are neat";
    4.  
    5. const buffer = Buffer.from(str);
    6. const base64string = buffer.toString("base64");
    7. const base64 = Buffer.from(base64string, "base64");
    8. console.log("base64: ", base64);
    9.  
    10. assert.strictEqual(
    11. base64,
    12. Buffer.from([
    13. 89, 110, 86, 109, 90, 109, 86, 121, 99, 121, 66, 104, 99, 109, 85, 103, 98,
    14. 109, 86, 104, 100, 65, 61, 61,
    15. ])
    16. );
    17.  
    18. console.log("passed!");

    I've also tried:

    Spoiler
    1. "use strict";
    2. const assert = require("assert");
    3. const str = "buffers are neat";
    4.  
    5. const base64 = Buffer.from(str, "base64");
    6. console.log("base64: ", base64);
    7.  
    8. assert.strictEqual(
    9. base64,
    10. Buffer.from([
    11. 89, 110, 86, 109, 90, 109, 86, 121, 99, 121, 66, 104, 99, 109, 85, 103, 98,
    12. 109, 86, 104, 100, 65, 61, 61,
    13. ])
    14. );
    15.  
    16. console.log("passed!");

    Unfortunately there's something that I am not getting here... I tried to re-read the material, but i could not find anything to help me. Can someone share a solution? This one seems silly but there's something that I am not getting yet...

    @gregsheppard reply on another topic:

    "you're using assert.strictEqual rather than assert.equal, which is what I see in the course code and coerces the buffer to a string (or maybe the other way around?). Try either switching to assert.equal or adding the toString() method to the buffer."

    It was indeed that. Thanks :)

This discussion has been closed.

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training