在传统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个字节)。
虚幻使用的字符类型为 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"));