UE4提供多个不同的类,下面做简单的介绍。
参考链接:
完整主题:字符串处理

FString

FString 是一个可变字符串,类似于 std::string。FString 拥有很多方法,方便处理字符串。要创建新的 FString,请使用 TEXT 宏:

  1. FString MyStr = TEXT("Hello, Unreal 4!").

FText

FText 类似于FString,但旨在用于本地化文本。要创建新的 FText,请使用 NSLOCTEXT 宏。该宏将使用默认语言的名称空间、键和值。

  1. FText MyText = NSLOCTEXT("Game UI", "Health Warning Message", "Low Health!")

还可以使用 LOCTEXT 宏,这样只需要每个文件定义一个名称空间即可。确保在文件结束时取消定义。

  1. // 在GameUI.cpp中
  2. #define LOCTEXT_NAMESPACE "Game UI"
  3. //...
  4. FText MyText = LOCTEXT("Health Warning Message", "Low Health!")
  5. //...
  6. #undef LOCTEXT_NAMESPACE
  7. // 文件结束

FName

FName 存储通常反复出现的字符串作为辨识符,以在比较时节省内存和CPU时间。如果有多个对象引用一个字符串,FName 使用较小的存储空间索引来映射到给定字符串,而不是在引用它的每个对象中多次存储完整字符串。这样会将字符串内容存储一次,节省在多个对象中使用该字符串时占用的内存。FName 比较更快是因为UE4能够检查其索引值来确认其是否匹配,而无须检查每一个字符是否相同。

TCHAR

TCHAR 类型是独立于所用字符集存储字符的方法,字符集或许会因平台而异。实际上,UE4字符串使用 TCHAR 数组来存储 UTF-16 编码的数据。可以使用重载的解除引用运算符(它返回 TCHAR)来访问原始数据。

  1. TCHAR Upper('A');
  2. TCHAR Lower = FChar::ToLower(Upper); // 'a'

相关api:TChar API