1

具体的には、

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

常に真実です。(いくつかの簡単なテストはそう示していますが、すべての場合に当てはまるかどうかはわかりません)。

4

1 に答える 1

1

はい、そうです。保存に必要なバイト数は、に必要なバイト数にに必要なバイト数を加えたものstringA + stringBと同じです。これは、.NETでは文字列がnullで終了していないためです。stringAstringB

それらがnullで終了している場合、文字列ごとに1つのnullターミネータがあるため、格納に必要なバイト数は、必要なバイト数+にstringA + stringB必要なバイト数よりも1バイト少なくなります。最初に文字列を削除し、最初の文字列のnullターミネータを削除しますが、2番目の例では、2つのnullバイトも追加します。stringAstringB

于 2013-03-08T14:29:26.507 に答える