如何将 CString 转换为字节
Posted
技术标签:
【中文标题】如何将 CString 转换为字节【英文标题】:how to convert CString to Bytes 【发布时间】:2009-10-30 14:12:08 【问题描述】:我实际上是在尝试将 csharp 代码转换为 c... 下面是 C# 代码..
CString data = "world is beautiful";
Byte[] quote = ASCIIEncoding.UTF8.GetBytes(data);
在上面的代码中......它将字符串转换为字节......类似地,我可以使用 C.. 任何人都可以说出 C 中的等效代码是什么吗? 请大家帮帮我
【问题讨论】:
.Net 没有CString
类;你的意思可能是string
。
【参考方案1】:
好吧,CString 是一个 C++ 类,所以用 C 来做这件事有点不太可能。
但如果您希望将其作为标准的多字节编码字符串,则可以执行以下操作
CString data = "world is beautiful";
CStringA mbStr = data;
char* bytes = mbStr.GetString();
【讨论】:
你回复的tanx..但仍然将它作为字符串而不是字节来读取..有意义吗 一个字符数组是一个字节数组。仅仅因为您查看调试器并将其解释为一组字符既不存在也不存在。你确实有一个字节数组。【参考方案2】:在 C 中,char 类型被定义为内存中的一个字节。因此,将字符串存储为 char * 相当于在 C# 中存储字节数组。
【讨论】:
发帖者询问如何将 Unicode 字符串编码为 UTF-8。 @Jonathan:这是一个严厉的反对意见。原来的问题没有提到UTF8,只是作为一个例子。以上是关于如何将 CString 转换为字节的主要内容,如果未能解决你的问题,请参考以下文章
CString到字节和字节到CByteArray转换-MFC
在 vc++ 中将 Unicode 字节数组转换为 CString