Skip to content

Instantly share code, notes, and snippets.

@nguyentien98
Created November 1, 2018 02:41
Show Gist options
  • Save nguyentien98/962529b8ac8766f7cd1083f69c4b71d7 to your computer and use it in GitHub Desktop.
Save nguyentien98/962529b8ac8766f7cd1083f69c4b71d7 to your computer and use it in GitHub Desktop.

Buffer

Là dạng truyền tải thông tin thông qua internet, các dữ liệu sẽ được chuyển thành Buffer để các máy tính có thể truyền cũng như tiếp nhận.

Nodejs hỗ trợ Buffer với class Buffer. Đây là class có thể dùng ở mọi nơi trong nodejs project.

Chuyển 1 chuỗi thành Buffer

let buffer = Buffer.from('Tien Nguyen=', 'utf-8'); // <Buffer 54 69 65 6e 20 4e 67 75 79 65 6e 3d>

Chuyển ngược lại chuỗi bằng cách

buffer.toString();

Ta cũng có thể dùng để decode các loại mã hóa

Ví dụ chuyển base64 thành 1 ảnh:

const fs = require('fs');
let imageEncode = "iVBORw0KGgoAAAANSUhEUgAAAeAAAAIfCAYAAACo+A/EAAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH2QcSECUStrmmnAAAG1RJREFUeJzt3X+snNl5F/CvXctaVxa5JA7IUmrU1AnFARUXEqxGrW5ARaZVKFZCy4aioBTRNkWN1A0lKKhAu4VQlkAFS6tWAdSUtFshr4hUjFJlnWTVuiTIpN1YaeoU6oo1u3JWjupdr9y79uWPM6NuvLb3/pjnnPnx+UjvP/5x75yZ9z3fmXfOeZ4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAefH6JGcmx+sHPxYAWHprSR5KciPJ5uS4MfmztYGPCwCW0t4k70rydP4weG8/np78m72DHiMALJU3Jzmfuwfv7cf5yf8BAHbgSJKPJLmVrYfv9Lg1+b9Huj9qAFhQB5K8P8n1bD94bz+uT37Wga4jAIAF89eTXMrug/f249LkZwMAL3I8ydnMPnhvP85OfhcArLRDSR5OcjP14Ts9bk5+56EO4wOAubIvyXuSXE2/4L39uDp5DPuKxwoAc+FkkgsZF7y3HxcmjwkAltLRJI9mfODe7Xh08hgBYCkcTPIT+crykfN63Jg81oMlzwQAdDAtH3k544N1u8flKGsJwAI6keTXUxuSz02Oyt/x65OxAMBcO5zk57Oz8pFbPV5cZnI35Sq38/t+fjI2AJgr0/KR11L7ifTTufMn0hOTv6v83deirCUAc+RUkoupDb+tfCfb6zvni5MxA8AQx5I8ltqwu5Hkn2V7q5IPJvnx1K+6fmzyHABAF9PykRupDbjT2d2+3KOTn1H5GDeirCUAxfYleXeSK6kNtc8lWZ/h416f/MzKx3xl8twoawnATK2nvnxkZYj1evNwIbN98wDAivq69LmN+5NJ1jqMZ23yu3rcPv+6DuMBYMkcTPJgkuupDaozGbOQ6djkd1eO7Xrac6isJQAva0+Sd6TPVp5v7zSme/n29NlC9Y605xYAXuJNSc6lNoyuJnkgyf5OY9qK/WmPqbo38bm05xgAkrQSix9KcjN14XNz8jvmebvOofR7HpS1BFhh+5P8/dSXjzyb5HinMc3C8bTHXPmcXEt77ufpTgAAHXxH6r/7vJTku3oNqMB3pY2h8jm6mPZaALDkeqz+XaamBb2aTIxaDQ5AsbUk/zq1+1+nbQJf02lMPb0m9W0PN9Jeox77oQEotjfJ96e+AtS5rEbj+hOpXyl+Je01u1fnJwDm2HqS86kNi620CVw2e9Kn7eH5KGsJsFCOJHkkteHwfFR5mlYLez61z/Ujaa8pAHPqQPqUj9xtm8Bl06Pt4bSs5TIsbANYGnuS3J/6LTO/EbdE72U9yWdT+xpcSnutlbUEGOx4ksdTO+nrdbt1vdoePp7FKm4CsDRenfqyiRtJPhjbYnZiLe25q9z2NS1r+epOYwJYab0aBygMMRs9Cp/MY4MLgKVyMslvpXYyvzj5PczWySS/ndrX7rfitQOYqdfFp6hl0PPuxes6jQlgKa0leSjJjdRN1jeT/Ezmu03gsjmU9pxXfn9/I+3c8f09wDbsTau09HRqPymdjZW0I/Voe/h0Vq9SGcCOvDn15SMvJXl7rwHxst6W+j3c59POLQBucyT13XaWqU3gsunR9nDarUpZS4D84cT7XOon3sOdxsTOHU7yn1P7Ruy5eCMGrLi3p/7W46q0CVw2Pdoe+ioCWDk9Ft9cTvK3o2bwItuT5J2pb3t4NhbjAUvuUJKHk7yQusl02jVnldsELptp28PKLlcvpJ2btqMBS2VfkvekvgDD6SSv7TQm+vva1Lc9vJp2rmq8ASy8k0kupHbSPB9tAlfJeuq3ql2IspbAgjqa5NHUTpLaBK6ur0qftoePpp3LAHPvYJJ/kdrykX8QZQZpepQrvZF2TltXAMylafnI6hWr2gRyJz3aHl6OspbAnOmxZ1OrObbiZJLPp/ZctLccGO5wkg+ntmqRNoFsV4+2h7fSzn3V1YCu7kt93d6bSX4q9mWyc4eS/PvUtj2c1he/r9OYgBV2KsnF1N7iOxuViZidHpXXLqZdGwAzdyzJY6mdxC7FJEadU0n+T2rP4cdikSAwI69KK9G3kfrbeLrTUK1H28ONtGvmVZ3GBCyZfakvdGAhC6McTvJzqV1AqFAMsG3rST6X2lt1tnIwD3psoftclEoFXsZrU1/s/nKSvxVtApkfe5L8zdQXkdEsBHiJHu3etAlk3rkOgG72JLk/fd75/4lOY4LdOpI+d4LujztBsJLelPrvvrQJZJGtp77t4bm0axFYAYeTfCi11YGuJPn+KFrP4tub5HtTuxvgZto1aTcALKn9Sd6b2v2PN6JNIMupR9vDa2nXqLrnsET+aurLR55J8vW9BgSD/MnUtz28mHbNAgusR4/UC9EmkNVzMu3cr35Tq6wlLJi1JB9MbflIbQJZdftS3/ZwI+1a9rUOzLm9Sb4vtQtGXkirc6tNIDSHUl8v/UratW1hI8yh9dRvmTgbbQLhbv5s6tse2toHc+RIkkdSe9H/72gTCFt1KskXU3tNPpJ27QMDHEjyY6ktm6dNIOxMj7aH19PmANcndDItH3kpdRf2rST/KQoDwG4dTvIfUtv28FKUtYRyx5N8KrW3trQJhNnr0fbwU7FGA2buUOrLR15O8o54Fw1VpnevnkzddTwta2mXAuzS/tTvM9QeDfrq0fbQPn3YhZNJPp/aW1b/JVZSwihHkvxSaq/xz0elOtiy16W+fKS9hDA/1lO/h/9M2twC3EGPbitXkvzdqKYD82Zvkr+T2ip2upXBbfYmeVeSp+LCg1XX4434U2lzjjfirLRviltPwEsdTfLfUjs3nE+bg2ClHEnykdRuztcmEBZfddvDW2lzkcWYLL1pebpnU3dBXU3yQ2mt0oDFty/Je1K7HfHZKDvLEntbastHbkSbQFhmPdoeXkqbq2ApHE99i7KzSb6h14CAof5M+swpylqysKbvVl9I3UVyMdoEwqo6lTYHVM0vL8RdNRbMviQ/mNrva7QJBJJWarK67eHVtDnNuhLmWo8Vix+KNoHAVzqc+oYtdlYwl44mOZ26E38z2gQCL+8vpL7t4em0OQ+GOpjkA6mtWvN/o9k2sHXTtoeVuy5upM19uqjR3Z60Um6XU3eCaxMI7EaPtoeX0+ZCHxDo4kTqb/E8EpVpgNk4kuQXUjtn+YqMUoeTfDi15SO1CQSqrKe29vyttDnSIlFm5r7UL/O/kuR7ojsJUGvafe3p1M1n022S93UaE0uqeqO7NoHACD3aHioUxI4cS/Lx1J2Ym0l+OZbyA2MdTfLR1M51H0+bU+GeXpn6Yuc2swPzprqI0LRZzCt7DYjFsS/Ju9O+i606Aa+mtRRTzg2YR/uS/L3UltG9kjbXmgdJ0lYGPpH6d34KmgOLoEfbwydix8dKe23qy0eeTfKnew0IYIaOJXkstXPk6bS5mBXRozqM1X/AsqjeDaLq3wqY1ketLB853f+2v9OYAHrYn+R9qa2HcDnq3i+lN6a2fOTNaBMILL8ebQ/Ppc3ZLLheJ8ubeg0IYA78ufhQw13sT/JAam+XXIrbJcDq6tH28FraXO5rvQXx1lgwANDLgfRZ2PrWXgNi+44lOZO6E2AzyUeiTSDAnRxJmyMrO8adibKWc2UtyQdTu2lcm0CArfmW1LY93Eib8zWxGWhvku9LbfnIp9Nad2kTCLB107aHlds+r6RlgPm5s/XUvsPSJhBg916R+raH7lB2ciTJL6buhdxMa82lTSDA7BxN8mhq5+5fjDU6JQ4k+dHUrrLTJhCgVnXbw+tpWXGg14CWXfU+s6tpLbi0xwKoN23/+kzq5vVpnQZ26YnUtAvUJhBgnMq2h9PcYJc20/aV/WqSJzObF+ex2EsGMA+OJfmVzGZufzItK6Z7kdml2+/vn03ybHb24mgTCDCfdtP28Nm0bLh9nRC7dKcn+6kkj2frty6upbXSUk8UYH7tT/LebL2O/820LHjqLn/PLt3ryf9iks/c4+911ABYPFvpZPeZJF+4x98L4BnYyrugz6SF8Yv/7FxayywAFtPxJL+W7X3wEsAztNXvADaSfDLJb0abQIBlMW17+Jtpc/x2Vk2zS9v9Mv59Yx4mAIXel+3nwVxTxBoABhDAADCAAAaAAQQwAAwggAFgAAEMAAMIYAAYQAADwAACGAAGEMAAMIAABoABBDAADCCAAWAAAQwAAwhgABhAAAPAAAIYAAYQwAAwgAAGgAEEMAAMIIABYAABDAADCGAAGEAAA8AAAhgABhDAADCAAAaAAQQwAAwggAFgAAEMAAMIYAAYQAADwAACGAAGEMAAMIAABoABBDAADCCAAWAAAQwAAwhgABhAAAPAAAIYAAYQwAAwgAAGgAEEMAAMIIABYAABDAADCGAAGEAAA8AAAhgABhDAADCAAAaAAQQwAAwggAFgAAEMAAMIYAAYQAADwAACGAAGEMAAMIAABoABBDAADCCAAWAAAQwAAwhgABhAAAPAAAIYAAYQwAAwgAAGgAEEMAAMIIABYAABDAADCGAAGEAAA8AAAhgABhDAADCAAAaAAQQwAAwggAFgAAEMAAMIYAAYQAADwAACGAAGEMAAMIAABoABBDAADCCAAWAAAQwAAwhgABhAAAPAAAIYAAYQwAAwgAAGgAEEMAAMIIABYAABDAADCGAAGEAAA8AAAhgABhDAADCAAAaAAQQwAAwggAFgAAEMAAMIYAAYQAADwAACGAAGEMAAMIAABoABBDAADCCAAWAAAQwAAwhgABhAAAPAAAIYAAYQwAAwgAAGgAEEMAAMIIABYAABDAADCGAAGEAAA8AAAhgABhDAADCAAAaAAQQwAAwggAFgAAEMAAMIYAAYQAADwAACGAAGEMAAMIAABoABBDAADCCAAWAAAQwAAwhgABhAAAPAAAIYAAYQwAAwgAAGgAEEMAAMIIABYAABDAADCGAAGEAAA8AAAhgABhDAADCAAAaAAQQwAAwggAFgAAEMAAMIYAAYQAADwAACGAAGEMAAMIAABoABBDAADCCAAWAAAQwAAwhgABhAAAPAAAIYAAYQwAAwgAAGgAEEMAAMIIABYAABDAADCGAAGEAAA8AAAhgABhDAADCAAAaAAQQwAAwggAFgAAEMAAMIYAAYQAADwAACGAAGEMAAMIAABoABBDAADCCAAWAAAQwAAwhgABhAAAPAAAIYAAYQwAAwgAAGgAEEMAAMIIABYAABDAADCGAAGEAAA8AAAhgABhDAADCAAAaAAQQwAAwggAFgAAEMAAMIYAAYQAADwAACGAAGEMAAMIAABoABBDAADCCAAWAAAQwAAwhgABhAAAPAAAIYAAYQwAAwgAAGgAEEMAAMIIABYAABDAADCGAAGEAAAwB3tLnF42aSx5P8ryRvH/JIAahwKsn5JJ9KspGt5wK7tJUn+TNJvnDbn51NcnzA4wVgNo6nzeUvntu/mDbnC+AO7vXkvtwLcTPJzyQ51P1RA7BTh5L8VNocfq8PXl+8x98L4Bm405P6TJJPZuu3Iq4meSDJ/s6PHYCt2582V1/N1ub2jbQseOYuf88uvfjJvJHkE0m+nK29OLcfF5Oc7ProAdiKk0k+n53N7V9Oy4YbEcAztZnkVpJzSX43O3txbj/OJDnWcQwA3NmxtDl5FnP776Zlxa0I4Jl4YnLM4sW5/dbFB5Os9RsKABNrSR5K8geZ/fw+zQ126buTXM7sX6DpcSXJu5Ps6zUggBX2VWlz7pXUzeuX07KDGTiY5MEkz6fuBfuNJOudxgOwitbT9vNWzePPp2XFwU7jWSlHk5xO3Yu3Ofn5R3sNCGAFvDbm7qXxF5NciHdRAPNsevfyeurm6wtpmUBH+9K+R7jb/q9ZHJeTvCtqZgNsx54k70zt+p1nYv3OcIeSPJzt1Qfd7nEuyYleAwJYYCfS5syq+Xgjbc5X4XCOvCEvrRk6y+NWko8keU2vAQEskMNpc+R0D27FcTZtrmdOnUryO6k7Aa4leX+SA70GBDDHDqTNiddSN+/+TtrczgLocUJcSvKdvQYEMIfeljYX+sDDS/S6JaLtIbBK7tQmcJbH9Cu/w70GRJ0TST6dupPlZpIPxaIAYLkdSmvxeq82gbs9Ph2LXpfO3rQtRZXL4rU9BJbRdtsE7uSw7XMFHEwrAH5726pZHheTfFuvAQEUOpnkt1M3X95Im5MVPlohR5N8NHUn1Wa0PQQW1yzbBN7t+GiUj1xpJ1Nb1nIjyU9G20NgMayltWqtLG50IW3uhexL8kOp/X5D20Ngnk3L+1a2CbyaNteaB3mJQ0l+OrUr/J6ItofAfFlP8tnUzXs30+ZWO0V4WdV73DajdRYwXo8Wr2ejVgI78DdSW+XlRpIfj9V/QF/TNoHPp25+u5Q2h8KOHUjyI6ntZ2n/G9DDntTXQ7ieNmcqH8nMHEl9Wcv/ERVggBrVbQKn5SOP9BoQq+dbkpyPkxhYDK9J/YeH82lzI5Tbm+R7Urtc/9noAgLsXI+ucFfS5kJfn9HdWurLWl5Kcn+vAQFL4TtTv4D0oSgwxBz4U6kv2XY2lvID99ZjC+WZtDkP5spfSWvEUHXiT9se/rFeAwIWwqG0uaGyiNDFtDkO5laPtl3aHgKJ+Qbu6HD6vCN9a68BAXPl29LnjtvhXgOCWTue2r13m9H2EFZJjzaB52LNCUtiT9pK5t9L3QWzkeTfxqpEWFZraa1NK9sE/l7aXLWn05igm2n91cqyltoewnLp0SbwetrcpC49S+9I6juQXEjyll4DAkqsp7UwrZwrTkflPVbQemp7cE4vLm0PYbH0aBP42ehNzorrcXvpRpJ/HreXYN4dTGtRWlldz9dUcJu1JP8utQsstD2E+bQ39W0CN9LmGAs14S6OJflYam89/c9oewjz4kRaK9LKa/5jsVURtuxUajfZa3sIY/XoMX4xbS4Btml/kn+Y2nZi16PtIfQ0bRP4bOqu62tpc4fykbBLh5P8x9S+U562PbQBH+rcn9o2gbfS5grlI2HGTqS+rOUnowQdzFqPNoHnYm0HlNqT5J2pXS2pCDvMxh9PfVOWy2lzgrtX0EmP/YLakMHO9GgTeCNtDrC/HwbpUTHnYpLv6DUgWHBvTe0Ohs2ocAdz5VvT6j9XXvTaHsLd9WgTeCHtWgfmzL4kP5Da214bSR5O8kc7jQnmXY8qdlfTrm3lI2HOHUoLycoJQT1ZVl2POu7TN7yHOo0JmJFvSP3WhwtJ/lKvAcGceEvqv/I5m3YNAwvsVGo3/2/GohBWQ49Fj5eifCQslWn5u8qyljeS/ERsi2D5HEzygdRu+7sWZWFhqX1N6gvAa3vIsujRJnDaGOVrOo0JGOxEkvOpvZV2PkrjsbhOpLXudI0AM9fz3b22hyyKHm0C3SUCkiSvSPJQar/fup7kR+L7LebXgST/KO1crboObqRda6/oNCZgQRxN8supveWm7SHzZk/q2wRupl1bdgoA93Qy9XscH4+2h4x3PK0FZ+W5fiHtmgLYkh7dXLQ9ZJTDqW8TqJsYsCuHkvxsaieq34+Jij6mbyy/nNo3lj8b5SOBGTme5BOpvVV3MSoAUedU6tsEfiK+WgEK9Fqs8t+j7SGz06NNoMWFQBcHkvzT1G7XmHaBeVWnMbF8Xpn6rmDX064F2+uAro4k+YXUfrLQ9pDt6tEmcDPt3FdgBhhqPfVlLS8k+cudxsPi+tbUb6E7n3bOA8yFvUm+N/WfOrQ95E56tAm8knaOKx8JzKW1JP8qtd+7Tcv5aXvIwST/MrVlVDfSzum1TmMC2JUeK08VtF9dPRqJbKadw1bkAwvpranfe3k+yZt7DYjhvin1aw4upp27AAttWn3o91M3YWp7uPx6tAlUlQ1YSj3q715P8k9iX+YyOZDkH6d237m65MBK+PNJzqX2FqLKRIuvV+W1c2nnJMBKmE6uT6Z2cv21qM27iI4n+dXUnhtPxps0YIUdTPJg3F6k6fU1xYOxjQ0gSfK1qS+kcC3Je2OBzTyaLtS7ltpz4HTauQbAbdaTPJHaSVjbw/nSo03gE1E+EuBl9Sqm/ytRZGGkY0k+ltrXWDMPgB3o0U5u2vbwUKcx0Z7rXq/rKzuNCWApHUvy8dR+UnomPilVm97Z+FJqX8uPx50NgJnq8V3hhSQnew1ohZxMfZtA3+0DFLovyfvTZ7Wstoe716NN4LW0c+K+TmMCWGmHk3w4tXWBp20PX9FpTMvkj6Q9d5VtAm+lnQP2dwMMcCL1ZS21Pdy6Xm0Cz6W99gAM1GvSP5/kmzuNaRF9c+rbBHozBDCHDib5QOpve2p7+JV6tAm8kfbaKh8JMMd6LPy5nuTHstptDw8k+dHU1vHejAVxAAunx9aXVWx72KtNoC1hAAtsX5IfTHI1tWFxLsk3dhrTSN+Y+kVvV9NeM0VRAJbAtPzhC6kLjmVue9ijTeALURYUYGkdT3I2tZ/griX5B1mOtof7k/xw6gufnE17bQBYcm9P/XeYi14asUfpz0tprwUAK+RAWgnD51IbMovWHKBH84vn0p77VV5FDrDyeuxjXYS2hz3aBNpHDcBLvDn1lZyuJvmBzNcK32mbwOqV4ufTnmMAeIlpWcunUxtG87LHtcde6aejfCQAW7SW+m4+m0n+a8ZUeTo6+d2VY5t2k1rrNCYAlsjrk5zJ8gRVrzcWZ9KeOwDYlZNJvpDa0Hoqdbdqp7fW/1/xGL6Q+bi1DsAS2Z/kgfRZrLQ+w8e9nj6Lyx7IchQfAWBOvTr1ZRlnsV2nx/aqafnNV+/icQLAthxP8nhqP1leT/Jgkq/exuP66sn/qW4T+HiUjwRgkF6t+bbS9nCeHgsAdHEgfT51nkvyxjv8/jemvk3g9NO48pEAzJ0jSX4ptUH44raHPdoEbk7GpHwkAHNvPfUrj6+lvk3grFdkA0C5vWk1lq+kNiQrjiuTx658JAALay3Jv0ltl6FZHRuTx6p8JABL41jqy1ru5jiTxepbDADb8teSXMz4wJ0eFyePCQCW3v4kP5z6RVT3Oq5NHoPykQCsnF7biF58vHgbEwCstBOpL6SxOfkdJzqNCQAWwp4k353kcmYfvJcnP1v5SAC4i4NpJR+fz+6D9/nJzzrYdQQAsMCOJjmdnYfv6cnPAAB24C1JLmTrwXth8n8AgF3al1Ya8ku5e/B+afJv9g16jACwtA4leThfWdZyY/JnhwY+LgBYCW9IcnZyvGHwYwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDi/wPCi31bOzNSWwAAAABJRU5ErkJggg==";
let image = Buffer.from(imageEncode, 'base64');
fs.writeFile(__dirname + '/1.png', image, function (err) {});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment