我使用zedborad,我将一些数据传输到我的电脑上。
void process_echo_request(void *p)
{
int sd = (int)p;
int RECV_BUF_SIZE = 2048;
char recv_buf[RECV_BUF_SIZE];
int n,i,j,nwrote;
unsigned char my_buffer[4];
unsigned char test_value[ROW][COLUMN] = {
{00, 00, 00, 01} ,
{40, 00, 00, 01} , /* initializers for row indexed by 0 */
{80, 01, 81, 20} , /* initializers for row indexed by 1 */
{82, 52, 83, 64} /* initializers for row indexed by 2 */
};
我收到该数据并将其复制到文件中。 文件内容如下所示
\00\00\00(\00\00PQR4S@
如何使用python
将其转换为这样的格式00 00 00 01 28 00 00 01 50 01 51 14 52 34 53 40
以上数据来自" bless hex editor"
答案 0 :(得分:0)
>>> bytestring = b'\00\00\00(\00\00PQR4S@'
>>> ' '.join('{:02x}'.format(b) for b in bytestring)
'00 00 00 28 00 00 50 51 52 34 53 40'
说明:
使用for b in bytestring
迭代bytestring会将每个字节返回为int
个对象:0,0,0,40,...,52,83,64
'{:02x}'.format(b)
转换字符串中的每个int
对象。表示是长度为2的十六进制数字(02x
中的“x”)(02x
中的“2”),零填充(02x
中的“0”)< / p>
' '.join(...)
将用空格分隔的各种字符串粘合在一起