笔记:UE4各个类型之间的转换

FString TheString = "String"

FString To Int

int32 NewInt = FCString::Atoi(*TheString);

FString To Float

float NewFloat = FCString::Atoi(*TheString);

FString To bool

bool bNewbool = TestString.ToBool();

FString To char*

TCHAR_TO_UTF8(*content)

FString To Tchar

MyTchar = *MyFString;

FString To uint8

TArray<uint8> AMyActor::UintConvert()
{
	FString szMsg = "gest";
	TArray<uint8> tr_int8;
	TCHAR* pSendData = szMsg.GetCharArray().GetData();
	int32 nDataLen = FCString::Strlen(pSendData);
	for (int i=0;i<nDataLen;i++)
	{
		uint8* dst = (uint8*)TCHAR_TO_UTF8(pSendData);//
		tr_int8.Add(*dst);
		pSendData++;
	}
	return tr_int8;
}

FString To FName

FName NewName = FName(*TheString);

FString To FText

FText NewText = FText::FromString(TheString);

FString To std::string (需要包含#include <fstream>或者#include <iostream>和using namespace std;)

std::string MyStdString(TCHAR_TO_UTF8(*TheString));

FString To MD5(FString)

FMD5::HashAnsiString(TEXT("someStuff"));

 

Int To FString

FString NewString = FString::FromInt(MyNewInt);

 Float To FString

FString NewString = FString::SanitizeFloat(MyNewFloat);

 FText To FString

FString NewString  = TestText.ToString();

FName To FString

FString NewString = TestName.ToString(); 

uint8 To FString

FString AMyActor::UintConvert2()
{
	const TArray<uint8>& BinaryArray = {103, 116};
	//(Create a string from a byte array!)
	const std::string cstr(reinterpret_cast<const char*>(BinaryArray.GetData()), BinaryArray.Num());
	//(FString can take in the c_str() of a std::string)
	return FString(cstr.c_str());
}
//FString::Printf(TEXT("%s"), UTF8_TO_TCHAR(reinterpret_cast<const char*>(Request.Body.GetData())));

std:string To FString

FString NewString(TestString.c_str());
//(示例std::string TestString = "TestString";)

char to FString

UTF8_TO_TCHAR(char)

TCHAR to FString

TCHAR* dd =TEXT("aa");
FString cc = dd;

TCHAR to std:string

for (TArray<const TCHAR*>& ite : content)
{
	const std::string cstr(reinterpret_cast<const char*>(ite.GetData()),ite.Num());
}

FName To FText

NewText = FText::FromName(TestName);

Enum To FString

template<typename TEnum>
FString SlAiDataHandle::GetEnumValueAsString(const FString& Name, TEnum Value)
{
	const UEnum* EnumPtr = FindObject<UEnum>(ANY_PACKAGE, *Name, true);
	if (!EnumPtr) {
		return FString("InValid");
	}
	return EnumPtr->GetNameStringByIndex((int32)Value);
}

ESecondCategory SecCategory;
FString CategoryName = GetEnumValueAsString<ESecondCategory>(FString("ESecondCategory"), SecCategory);
FString UKismetNodeHelperLibrary::GetEnumeratorUserFriendlyName(const UEnum* Enum, uint8 EnumeratorValue)
{
	if (nullptr != Enum)
	{
		return Enum->GetDisplayNameTextByValue(EnumeratorValue).ToString();
	}

	return FName().ToString();
}
 
 
​
EMyEnum::Type MyVariable;
static const UEnum* Enum = StaticEnum<EMyEnum::Type>();
Enum->GetNameStringByValue(MyVariable);

​

Enum To int32

int32 ChunkStatus = static_cast<int32>EnumAA;

FString To Enum 

template<typename TEnum>
TEnum SlAiDataHandle::GetEnumValueFromString(const FString& Name, FString Value)
{
	const UEnum* EnumPtr = FindObject<UEnum>(ANY_PACKAGE, *Name, true);
	if (!EnumPtr) {
		return TEnum(0);
	}
	return (TEnum)EnumPtr->GetIndexByName(FName(*FString(Value)));
}

FString CategoryName;
ESecondCategory SecCategory = GetEnumValueFromString<ESecondCategory>(FString("ESecondCategory"), *CategoryName);

FString to FText的NSLOCTEXT

	FText Message = FText::Format(
		NSLOCTEXT("UnrealClient", "{0}", "{1}"),
		FText::FromString(tips),
		FText::FromString(TEXT("aa"))
	);

std:string To char*

char* name = _strdup(othername.c_str());

std:string To const char*

char* name = othername.c_str();

char* to FString  

char+=FString;

char to FString

FString.AppendChar(char);

UnixTime to DateTime

int64 UMyBlueprintFunctionLibrary::NowUnix()
{
	return FDateTime::UtcNow().ToUnixTimestamp();
}

DateTime to UnixTime

FDateTime DateTime = FDateTime::FromUnixTimestamp(UnixTime);

int64 to FString

FString::Printf(TEXT("%lld"),time);//time int64

JsonObject to Fstring

TSharedRef<TJsonWriter<>> Writer = TJsonWriterFactory<>::Create(&JsonStr);
FJsonSerializer::Serialize(JsonObject.ToSharedRef(), Writer);

FString to JsonObject

TSharedPtr<FJsonObject> JsonObject = MakeShareable(new FJsonObject);
TSharedRef< TJsonReader<> > Reader = TJsonReaderFactory<>::Create(JsonStr);
FJsonSerializer::Deserialize(Reader, JsonObject );

 

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值