Had the same issue with 4.26.2, the Unreal engine issue report says they will not fix it. (Unreal Engine Issues and Bug Tracker (UE-33889))
I dont fully understand the implications of the null pointer terminator described in their comment:
// Put the byte into an int16 and add 1 to it, this keeps anything from being put into the string as a null terminator
But anyway I created my own function just removing the +1. So far seems to work ok in my case, where I’m reading a string from an HTTP request.
inline FString MyBytesToString(const uint8* In, int32 Count)
{
FString Result;
Result.Empty(Count);
while (Count)
{
int16 Value = *In;
Result += TCHAR(Value);
++In;
Count--;
}
return Result;
}