> ç¨³å®æ§: 2 - 稳å®ç `string_decoder` 模åæä¾äºä¸ä¸ª APIï¼ç¨äºè§£ç `Buffer` 对象æå符串ãå®å¯ä»¥éè¿ä»¥ä¸æ¹å¼è¢«ä½¿ç¨ï¼ ```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]))); ```