node.js – 如何识别无效的UTF-8?

我正在实现对UTF-8的支持,而我正面临一个问题。 我想收到无效的UTF-8错误。 好的:

var utf8 = require('utf8'); try { var result = utf8.decode(req.params.container); console.log('a valid utf8 (from ', req.params.container , '): ', result); self.bucket_name = req.params.container; next(); } catch (e) { console.log('Invalid UTF-8 (', req.params.container, '): ', e); res.statusCode = 412; res.end('Invalid UTF8 or contains NULL'); } finally { ; } 

然后它说,这个Unicodestring是无效的:嗡嗡ΩΩऀ鐌㜄툏㜃댋댋蔈蔈蔈㜅

但是一些python库会说这个string是有效的unicode。 所以我的问题是双重的:(1)是有效的UTF-8,(2)我怎样才能确定一个string是否是有效的utf-8,在node.js?