FString’s assignment operator gets the length of the input string by calling strlen() so it only reads the first null and stops there.
First, you don’t have to use FString unless there’s a compelling reason. But if you have one then I only see one option.
There is a constructor in FString that takes a length and a string. It calls strncpy so you should be good. But it does add a null at the end so you probably don’t need two "\0"s.
I don’t see any Copy function, just the operator=().