FString ,FName,FText转换

FString ,FName,FText转换

FString ,FName,FText转换

From to
FName FString TestHUDString = TestHUDName.ToString();
FName FText TestHUDText = FText::FromName(TestHUDName);
FName -> FText 在一些情况下有效,但需注意 — FNames 内容不会从 FText 的”自动本地化”中受益。
FString FName TestHUDName = FName(*TestHUDString);
FString -> FName 不可靠。因为 FName 不区分大小写,所以转换存在损耗。
FString FText TestHUDText = FText::FromString(TestHUDString);
FString -> FText 在一些情况下有效,但需注意 — FString 内容不会从 FText 的”自动本地化”中受益。
FText FString TestHUDString = TestHUDText.ToString();
FText -> FString 不可靠。它在一些语言的转换中存在潜在损耗
FText FName FText 到 FName 的转换不存在。但可先转换到 FString,再转换到 FName。
FText -> FString -> FName 不可靠。因为 FName 不区分大小写,所以转换存在损耗。
FString int32 int32 TestInt = FCString::Atoi(*MyFString);
FString float float TestFloat = FCString::Atof(*MyFString);
int32 FString FString TestString = FString::FromInt(MyInt);
float FString FString TestString = FString::SanitizeFloat(MyFloat);
1
2
3
4
5
6
7
8
9
10
11
FName name = FName("this is a name");
FText::FromName(name);
name.ToString();

FString str = FString("this is a string");
FName name2 = FName(*str);
FText::FromString(str);

FText text = FText::FromString("this is a text");
text.ToString();
FName(*text.ToString());

总体而言,设置字符串变量文字时应使用 TEXT() 宏。如未指定 TEXT() 宏,将使用 ANSI 对文字进行编码,会导致支持字符高度受限。 传入 FString 的 ANSI 文字需要完成到 TCHAR 的转换(本地万国码编码),以便更高效地使用 TEXT()。

虚幻引擎中的字符串处理 | 虚幻引擎 5.4 文档 | Epic Developer Community