When I encode a big integer(bigger than 2^31), it overflow and got a negative value in Node.js This is because parseInt doesn't limit integer value in 32bit: ```javascript > parseInt(12345678901234) 12345678901234 ``` Change the line: ```javascript var intVal = parseInt(val); ``` into: ```javascript var intVal = val | 0; ``` will solve this problem.