Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在详细查看节点缓冲区文档,但我无法理解buffer.write().
buffer.write()
具体来说,当使用大于缓冲区容量的字符串执行写入尝试时,我不明白行为是什么。以下段落似乎自相矛盾:
如果缓冲区没有足够的空间来容纳整个字符串,它将写入部分字符串。长度默认为 buffer.length - 偏移量。该方法不会写入部分字符。
第一句话声称它会写它可以写的东西,而最后一句话说这是一个全有或全无的操作。
我错过了什么吗?
在某些编码(如 UTF-8)中,单个字符可以由多个字节表示。
当文档说“该方法不会写入部分字符”时,我认为他们的意思是,如果一个字符需要 3 个字节但缓冲区上只剩下 2 个字节,则根本不会写入该字符(而不是只写入前 2 个字节)
http://en.wikipedia.org/wiki/UTF-8