调用 readable.setEncoding() 后 highWaterMark 不一致
¥highWaterMark
discrepancy after calling readable.setEncoding()
使用 readable.setEncoding()
将改变 highWaterMark
在非对象模式下的运行方式。
¥The use of readable.setEncoding()
will change the behavior of how the
highWaterMark
operates in non-object mode.
通常,当前缓冲区的大小是根据 highWaterMark
以字节为单位测量的。但是,在调用 setEncoding()
之后,比较函数将开始测量缓冲区的字符大小。
¥Typically, the size of the current buffer is measured against the
highWaterMark
in bytes. However, after setEncoding()
is called, the
comparison function will begin to measure the buffer's size in characters.
在 latin1
或 ascii
的常见情况下,这不是问题。但建议在处理可能包含多字节字符的字符串时注意这种行为。
¥This is not a problem in common cases with latin1
or ascii
. But it is
advised to be mindful about this behavior when working with strings that could
contain multi-byte characters.