串口发送16进制1234,用python接收的是'\x01\x01\x03\x04'但用python再怎么转换成原来的数据1234呢

作者&投稿:铎秆 (若有异议请与网页底部的电邮联系)
~

假设你接收到的'\x01\x02\x03\x04'储存在a变量中,

你想要转换为1234储存在b变量中,那么可以参考进行如下操作:

>>> a='\x01\x02\x03\x04'

>>> b=''

>>> for i in s:

 b=b + str(ord(i))

>>> b

'1234'

>>> b = int(b) #如果要将b转为数值变量,则使用int()

>>> b。

扩展资料:

十六进制的转换

数学的计算方法

主条目:进制转换

十进制转十六进制

采余数定理分解,例如将487710转成十六进制:

4877÷16=304....13(D)

304÷16=19....0

19÷16=1....3

1÷16=0....1

这样就计到487710=130D16

编程中的函式

Visual Basic

十六进制转换为十进制:十进制(Long型)=CLng("&H" & 十六进制数(String型))

十进制转换为十六进制:十六进制数(String型)=Hex$(十进制)

Javascript

Javascript 能以 toString() 函数来将十进制数字转为其他任意进制格式(String类型)

Python

调用Python内置int()函数把该字串转为数字。

参考资料来源:百度百科—十六进制的转换



int(a,16)


单片机通过串口发送12位的十六进制数据,先发高4位,后发低8位,用C#做...
ii=data;\/\/待发送数据 i=ii>>8;\/\/取高8位 i&=0x0f;\/\/取高4位 putchar(i);\/\/发送高4位 i=ii&0xff;\/\/取低8位 putchar(i);\/\/发送低8r 接收:int ii;char i;i=getchar();\/\/收到高4位 ii=i;ii<<=8;\/\/ii左移8位 i=getchar();ii+=i;\/\/ 得到12位数据 ...

VB的串口能输出12这样的数吗?我收到的怎么是31 32啊?
你这样的写法 12 34 56 应该是16进制发送方式。两种方式的发送和接受方法是不同的。先说16进制的 Dim sData() As Byte Dim bData(1 To 6) As Byte Dim strBuff As String MSComm1.CommPort = 1 MSComm1.Settings = "9600,N,8,1"MSComm1.RThreshold = 1 MSComm1.PortOpen = T...

请教用VB.NET向串口发送16进制的数的方法
我写的程序需要向DSP发送16进制的数据,如果不是16进制的,DSP会不能正确识别。如果有现成的代码,希望能给我一份,我的邮箱565306139@qq.com;没有代码,但知道原理的... 展开 网上有人说用write(buffer() as byte ,offset as integer,count as integer)方法,我试了不行,也用了hex(string as string)进行转换,...

C# 十进制字节 转换成16进制字节。
public static String c10_c16(int num){ String result="";for (int i = 1; i < num; i*=16) { int temp=num\/(i)%16;String t="";switch (temp) { case 10:t="A";break;case 11:t="B";break;case 12:t="C";break;case 13:t="D";break;case 14:t="E";break;case...

c# 串口通信,如何把121209055822010053用十六进制的形式发送到串口去...
12 12 09 05 58 22 01 00 53 字符串 还是 16进制数?十六进制 不难吧 数组 元素分别赋值,在输出 随便吧

请高手指教:用VB控件Winsock的UDP协议,发送16进制数到单片机出现问题...
试试改成这样:fsData(i) = clng("&H" & txtData(i).Text)错误3:For j = 0 To 11 sckClient.SendData fsData(j) '这里发送了12个16进制的数据,结果串口助手上显示了4具错误的数据??Next j 不要用循环发送,直接发送数组:sckClient.SendData fsData ...

单片机发出十六进制数 55H 后串口助手显示的是什么信息?原因何在...
单片机发出十六进制数 55H 后,串口助手显示内容:如果是16进制显示:55 如果是字符形式:U 例如:include<reg52.h> define uint unsigned int define uchar unsigned char sbit D0=P1^0;uchar flag;uchar a[30];uint y, u,c;\/*发送子程序*\/ void fasong(uchar dat)ES=0;SBUF=dat;while(!

VB 发送十六进制串口数据
先定义一个Byte 数组,把要发送的16进制字符放如数组,然后发送就OK.Exp: dim sendBuffer(5) as BytesendBuffer(1)=&H30sendBuffer(2)=&H30sendBuffer(3)=&H5F...msComm.Output=sendBuffer szoverstep | 发布于2013-07-26 举报| 评论 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Dim sandcher(...

vb 串口通信,如何将以空格分割的数据以16进制的方式发送出去
t = Split(Text1.Text, " ")ReDim sjSend(UBound(t))For i = 0 To UBound(t)sjSend(i) = "&H" & t(i)Next MSComm1.Output = sjSend End Sub Private Sub Form_Load()Text1 = "10 11 12 13 14"MSComm1.Settings = "9600,n,8,1"MSComm1.PortOpen = True End Sub ...

16进制的单位是什么,怎么算的?
一退六二五 二,一二五 三,一八七五 四,二五 以下省略。需要注意的是,也正是因为1斤=16两换算不便,所以现在的斤两变成了1斤=10两。十六进制是怎么算的?十进制: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19... 十六进制: 0,1,2,3,4,5,6...

下陆区19297467003: 串口发送16进制1234,用python接收的是'\x01\x01\x03\x04'但用python再怎么转换成原来的数据1234呢? -
符厘复方: '\x01\x01\x03\x04'这是笔误吗?我想应该是'\x01\x02\x03\x04'吧. 假设你接收到的'\x01\x02\x03\x04'储存在a变量中,你想要转换为1234储存在b变量中,那么可以参考进行如下操作: >>> a='\x01\x02\x03\x04' >>> b='' >>> for i in s: b=b + str(ord(i)) >>> b '1234' >>> b = int(b) #如果要将b转为数值变量,则使用int() >>> b.

下陆区19297467003: 我串口发送一组数据1234,用python接收的是'\x01\x02\x03\x04',再怎么转换成数字1234 -
符厘复方: a = "\x01\x02\x03\x04" [ord(x) for x in a] # get list [1, 2, 3, 4] reduce(lambda x, y: x*10+y, [ord(x) for x in a]) # get int 1234

下陆区19297467003: java串口通信中怎样以十六进制数发送 -
符厘复方: 做串口通讯的时候基本都是通过io流读取、输出.那么在java开发中发送数据的时候使用OutputStream,而其write()的参数是字节数组、int整形.如果使用字节数组发送的时候,通常可以直接写成out.write("1234".getBytes()).这样一来单片...

下陆区19297467003: 如何在linux下调试串口,发送十六进制数据 -
符厘复方: 串口发送的数据是8位的,最大为255,就是FF,如果要发送大于255的数,必须变成几个字节发送,例如要发送十进制2315,就要将数据拆分 data(0)=2315/256; data(1)=2315%256; 这样就拆分开数据,再将数据发送出去.

下陆区19297467003: 批处理向串口发送16进制编码 -
符厘复方: 使用串口类软件,很轻松,如下图的格西烽火,串口模式下,可以发送Hex,字符串等格式的数据.

下陆区19297467003: c++ builder 串口发送十六进制数 -
符厘复方: 这个不需要特别的来转换,你可以用“0X”前缀来标示十六进制数,十进制不需要特别标示,编译器在编译时会自动转换成十六进制来执行.如果害怕自己混淆,用“char”类型来定义字符(串),编译时会自动对照ASCII码表进行转换为十六进制.只是你在另一边的接收要考虑是否有转换的问题.

下陆区19297467003: Python Serial 串口能不能发送16进制的数字 -
符厘复方: 以十六进制发送 import serial t = serial.Serial('com1',9600) t.write("\x55\x53".encode('utf-8'))

下陆区19297467003: 在串口中怎么发送字符串? -
符厘复方: 向串口发送字符串有很多种方法,可以使用支持发送字符串的工具发送,如果你不想使用的画,在发送16进制时,把16进制转换成字符串,就是字符串对应的16进制数发送就可以,例如十六进制的OA等于回车.其他的你应该都会明白吧?

下陆区19297467003: 如何用串口调试软件发送16进制数到单片机里 -
符厘复方: Option Explicit Dim BytHex() As Byte Private Sub cmdSend_Click() ReDim BytHex(0) As Byte '单字节 BytHex(0) = &H32 MSComm1.Output = BytHex ReDim BytHex(1) As Byte '2字节 BytHex(0) = &H32 BytHex(1) = &HA MSComm1.Output = BytHex...

下陆区19297467003: 如何将字符串通过串口输出为十六进制 -
符厘复方: 串口只接收字符 要输出16进制形式 那么需要在代码中 先将字符串转为16进制形式的字符串 再写到串口.

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网