GetByteCount(字符串)添加剂吗?

时间:2013-03-08 14:18:00

标签: c#-4.0 character-encoding

具体来说,如果

Encoding.UTF8.GetByteCount(stringA) + Encoding.UTF8.GetByteCount(stringB) = Encoding.UTF8.GetByteCount(stringA + stringB).

总是如此。 (一些快速测试表明如此,但我不确定它是否在所有情况下都是真的。)

1 个答案:

答案 0 :(得分:1)

是的,确实如此。存储stringA + stringB所需的字节数与stringA所需的字节数相同,加上stringB所需的字节数。这是因为在.NET中字符串不是以空值终止的。

如果它们以空值终止,那么存储stringA + stringB所需的字节数将比stringA + stringB所需的字节所需的字节少一个字节因为每个字符串有一个空终止符,所以在第一种情况下,首先组合字符串,删除第一个字符串的空终止符,而在第二个示例中,还添加两个空字节。