[英]How to use UTF8Encoding in Visual C++
我需要将下面的c#代码更改为c ++代码。
public static byte[] StrToByteArray(string str)
{
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
return encoding.GetBytes(str);
}
在这个网站上,我找到了UTF8Encoding的c ++代码,我从中创建了这段代码
void StrToByteArray(string unicodeString)
{
UTF8Encoding^ utf8 = gcnew UTF8Encoding;
array<Byte>^encodedBytes = utf8->GetBytes( unicodeString );
}
但这给了我以下错误
错误2错误C2664:'cli :: array ^ System :: Text :: Encoding :: GetBytes(cli :: array ^)':无法将参数1从'std :: string'转换为'cli :: array
为什么它会在与文档相同的情况下执行此操作? (除了我使用普通字符串,但使用顶级字符串^给我一个错误。)
我不确定它是否相关但我的代码是管理的。
注意:在我开始工作之前,我还没有担心返回任何数据。
string
是C ++中与C#中不同的数据类型。 请尝试使用System::String^
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.