本文主要是介绍UE4 c++ uint8_t* toFString-2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
接1,同样的问题,还是uint8_t* toFString
只不过这次不是直接用,而是需要将数据保存到一个变量中。
PC端用下面的方法打印log,一切正常,Android端打印的时候,纯英文/纯中文都没问题,中英文结合就不行,会在正确的结果后面加上一堆别的结果,有时是乱码。
UE_LOG(LogTemp, Warning, TEXT("%-12d %-10.*s %-16.*s %-16.*s\n"), ref->nodeId.nodeId.namespaceIndex,
(int)ref->nodeId.nodeId.identifier.string.length, UTF8_TO_TCHAR(ref->nodeId.nodeId.identifier.string.data),
(int)ref->browseName.name.length, UTF8_TO_TCHAR(ref->browseName.name.data),
(int)ref->displayName.text.length, UTF8_TO_TCHAR(ref->displayName.text.data));
用变量保存如下:
FString FStrDisplayName;
FStrDisplayName.AppendChars(UTF8_TO_TCHAR(ref->displayName.text.data),(int)ref->displayName.text.length);
同样,纯英文/纯中文都没问题,中英文结合就不行。
尝试了2天的时间,考虑到了编解码问题也没解决掉。
最终发现是UTF8_TO
这篇关于UE4 c++ uint8_t* toFString-2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!