๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ชฉ๋ก์ด ์—†์Šต๋‹ˆ๋‹ค.

[Javascript] byte ๋ฐ์ดํ„ฐ๋ฅผ string ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ

๐Ÿ—ฃ Language/JavaScript
    ๋ฐ˜์‘ํ˜•

     

     

    byte ๋ฐ์ดํ„ฐ๋ฅผ string ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ

     

    request๋ฅผ capturingํ•˜๋Š”๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๋‹ค๊ฐ€ request์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ์ดํ„ฐ๊ฐ€ byte๋กœ ๋˜์–ด์žˆ๋Š”๊ฒƒ์„ ๋ณด๊ณ ๋Š” ์ ˆ๋ง์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. byte๋Š” ๋”ฑ ๋ณด๊ธฐ์— ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ• ์ง€.. ๋ง‰๋ง‰ํ–ˆ๋Š”๋ฐ capturingํ•˜๋Š” ๋ถ€๋ถ„์ด javascript ๋ฌธ๋ฒ•์ด์–ด์„œ ์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒํ•˜์ง€ ํ•˜๋‹ค๊ฐ€ ์ฐพ์•„๋ณด๋‹ˆ stackoverflow์— ๋‹ต์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

     


     

    byte to string code

    1. Object.prototype.toString ๋ฉ”์„œ๋“œ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜

    var byte = <byte๋ฐ์ดํ„ฐ>
    var str = byte.toString();
    var utf8_str = byte.toString('utf8');


    2. ์ƒ์„ฑ์ž ์—†์ด String์„ ํ†ตํ•ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜

    var str = String(byte);
    var utf8_str = String(byte, 'utf8');

     

    3. ๋นˆ ๋ฌธ์ž์—ด์„ ๋ถ™์—ฌ์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ (์ธ์ฝ”๋”ฉ ์ง€์ • ๋ถˆ๊ฐ€)

    var str = byte + '';

     

    4. (ES6) ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ (์ธ์ฝ”๋”ฉ ์ง€์ • ๋ถˆ๊ฐ€)

    var str = `${byte}`;

     

     

    ์—ฌ๊ธฐ์—์„œ๋Š” ์ธ์ฝ”๋”ฉ์„ utf8๋กœ ์ง€์ •ํ•˜์˜€์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” byte ๋ฐ์ดํ„ฐ๊ฐ€ ๊ตฌ์„ฑ๋œ ์ธ์ฝ”๋”ฉ์„ ๋งž์ถฐ์ฃผ์–ด์•ผ ์˜ฌ๋ฐ”๋ฅธ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅ๋ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ byte ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฒŒ ๋†€๋ž์Šต๋‹ˆ๋‹ค.

     

    ์œ„์˜ 4๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ๋„ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

     

    ์ฐธ๊ณ 

    stackoverflow

    ๋ชจ๋˜์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive

     

    ๋ฐ˜์‘ํ˜•