UE FString, FName ,FText 三者转换,再次学习,官方文档理解

一.整体理解,细节查看官方文档

1.UE中的编码 一般分为

  1. ANSI ; 2. UTF-8; 3.UE自己的编码(UE所有字符串FString,TCHAR:UTF-16格式存储在内存中); 4. 二进制

三个转化宏,宏的生命周期短,主要作为函数参数。它基本能胜任上述123的互相编码转换

虚幻引擎字符编码 | 虚幻引擎 5.7 文档 | Epic Developer Community

网络端,同步需要解码,编码来支持

2.FString

虚幻引擎中的FString | 虚幻引擎 5.7 文档 | Epic Developer Community

开头FString 更万能,并且它本身有TChar* 类型的数组

和其它第三方通信,需要转换编码。加密处理等。

TEXT()宏可以,增加字符串高度。方便TCHAR的转换

FString 可以转换为 其它类型变量 很全,官方文档总结的很清楚。float ,int ,bool 等

FString 是TCHAR* 数组,所以很多方法和TArray有类似。

两种典型的打日志,都用的FString:UE_LOG , 和 AddOnScreenDebugMessage

操作字符串,拼接切割从左从右读等,在网络传输时解析,很有用。

转换宏编码,小心生命周期

3.FName

虚幻引擎中的FName | 虚幻引擎 5.7 文档 | Epic Developer Community

用于资产命名,典型的场景有 改动态实例的参数,访问骨骼网格体的骨骼,当然骨骼Socket也用FName。不区分大小写,占唯一内存。作为索引组合存储在唯一字符串和实例编号的表格中

== 好,它不执行字符串的对比,而是对比索引中的数值,毕竟它们是唯一的,节约了CPU开销。

4.FText

虚幻引擎中的FText | 虚幻引擎 5.7 文档 | Epic Developer Community

UI,本地化经常用到。

二.转化,很早之前也写过转换的文章。UE5 C++学习笔记 FString FName FText相互转换_fstring 转 fname-CSDN博客可以结合看

cpp 复制代码
void AWXStringActor::InitialString()
{
	FString TestString = TEXT("This is a Test");

	//这下好记住了,FString 很万能
	//FSring -> FName
	FName TestName = FName(*TestString);
	//FString->FText
	FText TestText = FText::FromString(TestString);

	//FName -> FString
	FString BackString = TestName.ToString();

	//FText -> FString
	FString BackString2 = TestText.ToString();

	// Name 可直接 FText ,单Text 却要 经过FString中间商
	//
	//FName->FText
	//FText BackText =FText::FromString(TestName.ToString());饶了不需要
	FText BackText2 = FText::FromName(TestName);

	// FText-> FName
	FName TestName2 = FName(TestText.ToString());
	int32 a = 1;

}
相关推荐
wanhengidc2 小时前
云手机的存储空间可以灵活扩展吗?
运维·服务器·科技·智能手机·云计算
selt7912 小时前
Redisson之RedissonLock源码完全解析
android·java·javascript
Danileaf_Guo2 小时前
256台H100服务器的RoCEv2无损与全互联算力网络建设方案
运维·服务器·网络
解压专家6663 小时前
怎么找书?怎么传输?在Kred里完成的全过程
运维·服务器·网络
行走的陀螺仪3 小时前
高级前端 Input 公共组件设计方案(Vue3 + TypeScript)
前端·javascript·typescript·vue·组件设计方案
OnlyEasyCode3 小时前
快速上手!查看、拷贝、编辑、远程连接Linux命令
linux·运维·服务器
dualven_in_csdn3 小时前
UDP广播接收小优化
linux·运维·服务器
一颗不甘坠落的流星3 小时前
【Antd】基于 Upload 组件,导入Json文件并转换为Json数据
前端·javascript·json