【发布时间】:2011-04-14 17:05:58
【问题描述】:
在 ANSI C 中,我们如何将字符串转换为二进制字节数组? 所有的谷歌搜索和搜索都为我提供了 C++ 和其他而不是 C 的答案。
我的一个想法是将字符串转换为 ASCII,然后将每个 ASCII 值转换为其二进制。 (呃!)我知道这是最愚蠢的想法,但我不确定还有其他选择。
我听说过 Java 中的编码功能。我不确定这是否适合相同的目的并且可以被 C 采用。
string = "Hello"
bytearr[] = 10100101... some byte array..
如果有人能对此有所了解,那就太好了。
谢谢!
【问题讨论】:
-
“二进制字节数组”是什么意思? C 中的“字符串”只是一块内存(数组),其中包含映射到 ASCII 字符的值(字节)。
-
一些类似于Java中的字节数组的东西。您还可以以字节数组的形式处理字符串。
-
您似乎对术语感到非常困惑。 C 中的字符串已经是一个二进制字节数组,或多或少是根据定义。而且它可能也已经是 ASCII(除非它是支持 U+0000 到 U+007F 之外的字符的其他 Unicode 编码)。所以请再次尝试解释你希望这个“bytearr”的内容是什么。