如何将字符串转换为字节数组? [关闭]

Posted

技术标签:

【中文标题】如何将字符串转换为字节数组? [关闭]【英文标题】:How can I convert a string to a byte array? [closed] 【发布时间】:2016-06-14 15:52:00 【问题描述】:

如何在 C++ 中将字符串转换为字节数组?

例如,"Hello"48 65 6c 6c 6f

我正在尝试使用此字节数组对内存进行模式搜索。

【问题讨论】:

不清楚“字节数组”的类型是什么。 你在用哪本书?您无法通过在 Google 上胡乱学习语言! 我只是想知道如何做一件简单的事情,我不想买书 @Spoody 好吧,看起来很简单的事情可能需要一本书或参考资料来解释完整性。此外,太简单的事情都包含在书籍或在线教程中所涵盖的基础知识中。 【参考方案1】:

std::string::c_str() 产生底层 c 字符串/字节数组。

另请参阅std::string::c_str(),了解返回的指针可能无效的情况列表(基本上每次修改字符串时,当然还有 std::string 本身被破坏时)。

如果需要,您可以使用memcpy() 创建它的副本。

【讨论】:

std::string::c_str() 将错过返回 ''\0'' 之后的字节。 @πάνταῥεῖ std::string::c_str() 将正确返回一个字节数组指针。由代码的调用者来考虑任何空字符并使用例如计数来代替。但它实际上会返回一个字节数组。 @Altainia 好吧,我认为std::string::data() 应该更适合这里。 @πάνταῥεῖ data() 自 11 日起与 c_str() 相同

以上是关于如何将字符串转换为字节数组? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将字节数组转换为字符串[重复]

如何将 std::string 转换为字节 [关闭]

如何将字节数组的字符串转换为字节数组

如何将字节数组转换为字符串? [复制]

如何将十六进制字符串转换为字节数组? [复制]

如何在 JavaScript 中使用字节数组将字符串转换为 base64 编码?