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 | FName name = FName("this is a name"); |
总体而言,设置字符串变量文字时应使用 TEXT() 宏。如未指定 TEXT() 宏,将使用 ANSI 对文字进行编码,会导致支持字符高度受限。 传入 FString 的 ANSI 文字需要完成到 TCHAR 的转换(本地万国码编码),以便更高效地使用 TEXT()。
