如何在 Visual C 中使用 UTF8Encoding

发布于 2024-11-06 03:50:26 字数 888 浏览 5 评论 0原文

我需要将下面的 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 ^系统::文本::编码::GetBytes(cli::array ^)' : 无法将参数 1 转换为 'std::string' 到 'cli::数组

为什么要这样做,而它与文档相同? (除了我使用普通字符串,但使用顶级字符串^会给我一个错误。)

我不确定它是否相关,但我的代码是托管的。

注意:我尝试不担心返回任何数据,直到我开始工作。

I need to change the below c# code to c++ code.

    public static byte[] StrToByteArray(string str)
    {
        System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
        return encoding.GetBytes(str);
    }

on this website i found the c++ code for UTF8Encoding from which i created this code

    void StrToByteArray(string unicodeString)
    {
        UTF8Encoding^ utf8 = gcnew UTF8Encoding;
        array<Byte>^encodedBytes = utf8->GetBytes( unicodeString );
    }

but this gives me the following error

Error 2 error C2664: 'cli::array
^System::Text::Encoding::GetBytes(cli::array
^)' : cannot convert parameter 1 from
'std::string' to
'cli::array

Why would it do this while it is identical to the documentation? (except i am using a normal string, but using a top level string^ gives me an error on that.)

i'm not sure if it is related but my code is managed.

note: i tried not worrying yet about returning any data till i get this working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不弃不离 2024-11-13 03:50:26

string 是 C++ 中与 C# 中不同的数据类型。尝试使用 System::String^ 代替。

string is a different data type in C++ as it is in C#. Try using System::String^ instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文