在传统C++中
int、long、long long和short都是整数类型,它们的区别在于它们可以表示的值的范围。int通常占用4个字节(32位),long通常占用4个或8个字节(取决于平台,可能是32位或64位),long long通常占用8个字节(64位),而short通常占用2个或4个字节(取决于平台,可能是16位或32位)。
无符号类型和带符号类型的区别在于无符号类型不能表示负数,只能表示非负数,而带符号类型可以表示正数、负数或零。例如,一个无符号的int可以表示从0到2^32-1的值,而一个带符号的int可以表示从-2^31到2^31-1的值。
但UE 换了名字。
unsigned char uint8代表无符号字节(占1个字节)。
char int8代表有符号的字节(占1个字节)。
unsigned short uint16 代表无符号"短整型" (占2 个字节)。
short int16代表有符号"短整型" (占2 个字节)。
unsigned int uint32 代表无符号整型(占4字节)。
int int32代表带符号整型(占4字节)。
unsigned long uint64代表无符号"四字" (8个字节)。
long int64 代表有符号"四字"(8个字节)。
- 虚幻引擎中,基本数据类型包括,uint8、uint16、uint32、uint64、int8、 int16、int32、int64、float。但是在蓝图中只支持uint8和int32。其他类型在c++中是支持的,但是如果你一但你将这些变量暴露给蓝图,编辑就会报错。
虚幻使用的字符类型为 TCHAR,采用 UTF-16 的编码格式。通过宏 ANSI_TO_TCHAR 转换将 ANSIC 码转换为虚幻的 TCHAR 类型 TCHAR* charsA = ANSI_TO_TCHAR("123"); // 通过宏 TCHAR_TO_ANSI 将虚幻的 TCHAR 编码转为 ANSIC 码,注意:虚幻向外的输出一定只能是 TCHAR 类型的 ANSICHAR* ansiString = TCHAR_TO_ANSI(charsA); // 对于 UTF-8 可以使用宏来进行来回转换 ANSICHAR* utf8String = TCHAR_TO_UTF8(charsA); TCHAR* charsB = UTF8_TO_TCHAR(utf8String); UE_LOG(LogTemp, Display, TEXT("%s"), charsA); UE_LOG(LogTemp, Display, TEXT("%s"), ANSI_TO_TCHAR("234")); UE_LOG(LogTemp, Display, TEXT("%s"), TEXT("345"));