diff options
Diffstat (limited to 'csharp/src/ProtocolBuffers')
-rw-r--r-- | csharp/src/ProtocolBuffers/CodedInputStream.cs | 4 | ||||
-rw-r--r-- | csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs | 2 | ||||
-rw-r--r-- | csharp/src/ProtocolBuffers/CodedOutputStream.cs | 9 |
3 files changed, 8 insertions, 7 deletions
diff --git a/csharp/src/ProtocolBuffers/CodedInputStream.cs b/csharp/src/ProtocolBuffers/CodedInputStream.cs index 447adbb1..56283318 100644 --- a/csharp/src/ProtocolBuffers/CodedInputStream.cs +++ b/csharp/src/ProtocolBuffers/CodedInputStream.cs @@ -339,12 +339,12 @@ namespace Google.Protobuf {
// Fast path: We already have the bytes in a contiguous buffer, so
// just copy directly from it.
- String result = Encoding.UTF8.GetString(buffer, bufferPos, size);
+ String result = CodedOutputStream.Utf8Encoding.GetString(buffer, bufferPos, size);
bufferPos += size;
return result;
}
// Slow path: Build a byte array first then copy it.
- return Encoding.UTF8.GetString(ReadRawBytes(size), 0, size);
+ return CodedOutputStream.Utf8Encoding.GetString(ReadRawBytes(size), 0, size);
}
/// <summary>
diff --git a/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs b/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs index e3d2b068..ef1f4c0c 100644 --- a/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs +++ b/csharp/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs @@ -135,7 +135,7 @@ namespace Google.Protobuf /// </summary>
public static int ComputeStringSize(String value)
{
- int byteArraySize = UTF8.GetByteCount(value);
+ int byteArraySize = Utf8Encoding.GetByteCount(value);
return ComputeRawVarint32Size((uint) byteArraySize) +
byteArraySize;
}
diff --git a/csharp/src/ProtocolBuffers/CodedOutputStream.cs b/csharp/src/ProtocolBuffers/CodedOutputStream.cs index 6c135e86..1e6e7e55 100644 --- a/csharp/src/ProtocolBuffers/CodedOutputStream.cs +++ b/csharp/src/ProtocolBuffers/CodedOutputStream.cs @@ -59,7 +59,8 @@ namespace Google.Protobuf /// </remarks>
public sealed partial class CodedOutputStream
{
- private static readonly Encoding UTF8 = Encoding.UTF8;
+ // "Local" copy of Encoding.UTF8, for efficiency. (Yes, it makes a difference.)
+ internal static readonly Encoding Utf8Encoding = Encoding.UTF8;
/// <summary>
/// The buffer size used by CreateInstance(Stream).
@@ -240,7 +241,7 @@ namespace Google.Protobuf {
// Optimise the case where we have enough space to write
// the string directly to the buffer, which should be common.
- int length = UTF8.GetByteCount(value);
+ int length = Utf8Encoding.GetByteCount(value);
WriteRawVarint32((uint)length);
if (limit - position >= length)
{
@@ -253,13 +254,13 @@ namespace Google.Protobuf }
else
{
- UTF8.GetBytes(value, 0, value.Length, buffer, position);
+ Utf8Encoding.GetBytes(value, 0, value.Length, buffer, position);
}
position += length;
}
else
{
- byte[] bytes = UTF8.GetBytes(value);
+ byte[] bytes = Utf8Encoding.GetBytes(value);
WriteRawBytes(bytes);
}
}
|