我正在使用Windows Forms C++/CLI,并且有一个函数调用Python脚本,该脚本返回字节的字符串表示形式。我想将字符串转换为字节数组。
例如:
String^ demoString = "09153a"; // example of data returned from Python script
array<Byte>^ bytes;
// This is what I tried but does not give me the output I want
bytes = System::Text::Encoding::UTF8->GetBytes(demoString);
unsigned char zero = bytes[0];
unsigned char one = bytes[1];
unsigned char two = bytes[2];
unsigned char three = bytes[3];
this->richTextBox1->Text += zero + "\n";
this->richTextBox1->Text += one + "\n";
this->richTextBox1->Text += two + "\n";
this->richTextBox1->Text += three + "\n";
最后打印到文本框的是ASCII字符的十进制表示:
48
57
49
53
我尝试获取的是一个值为{0x 09,0x 15,0x 3a}的数组;
1条答案
按热度按时间avwztpqn1#
您需要一个函数来解析十六进制字符串,方法是将其拆分为若干对,然后将每对十六进制字符转换为一个字节值。
您可以在下面看到一个使用控制台应用程序的完整示例。
注意:十六进制字符串
"09153a"
仅代表3个字节(因此仅zero
、one
、two
相关)。输出量: