> ç¨³å®æ§: 2 - 稳å®ç `string_decoder` 模åæä¾äºä¸ä¸ª APIï¼ç¨äºæ `Buffer` å¯¹è±¡è§£ç æå符串ï¼ä½ä¼ä¿çç¼ç è¿çå¤åè UTF-8 ä¸ UTF-16 å符ã å¯ä»¥éè¿ä»¥ä¸æ¹å¼ä½¿ç¨ï¼ ```js const { StringDecoder } = require('string_decoder'); ``` ä¾åï¼`StringDecoder` ç±»çåºæ¬ç¨æ³ï¼ ```js const { StringDecoder } = require('string_decoder'); const decoder = new StringDecoder('utf8'); const cent = Buffer.from([0xC2, 0xA2]); console.log(decoder.write(cent)); const euro = Buffer.from([0xE2, 0x82, 0xAC]); console.log(decoder.write(euro)); ``` å½ä¸ä¸ª `Buffer` å®ä¾è¢«åå ¥ `StringDecoder` å®ä¾æ¶ï¼ä¼ä½¿ç¨ä¸ä¸ªå é¨ç buffer æ¥ç¡®ä¿è§£ç åçå符串ä¸ä¼å 嫿®ç¼ºçå¤åèåç¬¦ã æ®ç¼ºçå¤åèå符ä¼è¢«ä¿åå¨è¿ä¸ª buffer ä¸ï¼ç´å°ä¸æ¬¡è°ç¨ `stringDecoder.write()` æç´å° `stringDecoder.end()` 被è°ç¨ã ä¾åï¼æ¬§å 符å·ï¼`â¬`ï¼çä¸ä¸ª UTF-8 ç¼ç çåè被åæä¸æ¬¡æä½åå ¥ï¼ ```js const { StringDecoder } = require('string_decoder'); const decoder = new StringDecoder('utf8'); decoder.write(Buffer.from([0xE2])); decoder.write(Buffer.from([0x82])); console.log(decoder.end(Buffer.from([0xAC]))); ```