#ifndef SRC_STRING_DECODER_H_#define SRC_STRING_DECODER_H_#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS#include "node.h"namespace node {class StringDecoder {public:StringDecoder() { state_[kEncodingField] = BUFFER; }inline void SetEncoding(enum encoding encoding);inline enum encoding Encoding() const;inline char* IncompleteCharacterBuffer();inline unsigned MissingBytes() const;inline unsigned BufferedBytes() const;// Decode a string from the specified encoding.// The value pointed to by `nread` will be modified to reflect that// less data may have been read because it ended on an incomplete character// and more data may have been read because a previously incomplete character// was finished.v8::MaybeLocal<v8::String> DecodeData(v8::Isolate* isolate,const char* data,size_t* nread);// Flush an incomplete character. For character encodings like UTF8 this// means printing replacement characters, buf for e.g. Base64 the returned// string contains more data.v8::MaybeLocal<v8::String> FlushData(v8::Isolate* isolate);enum Fields {kIncompleteCharactersStart = 0,kIncompleteCharactersEnd = 4,kMissingBytes = 4,kBufferedBytes = 5,kEncodingField = 6,kNumFields = 7};private:uint8_t state_[kNumFields] = {};};} // namespace node#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS#endif // SRC_STRING_DECODER_H_
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。