Python 十六进制整数与ASCii编码字符串相互转换方法
在使用Pyserial与STM32进行通讯时,遇到了需要将十六进制整数以Ascii码编码的字符串进行发送并且将接收到的Ascii码编码的字符串转换成十六进制整型的问题。查阅网上的资料后,均没有符合要求的,遂结合各家之长,用了以下方法。
环境
Python2.7 + Binascii模块
十六进制整数转ASCii编码字符串
# -*- coding: utf-8 -*- import binascii #16进制整数转ASCii编码字符串 a = 0x665554 b = hex(a) #转换成相同的字符串即'0x665554' b = b[2:] #截取掉'0x' c = binascii.a2b_hex(b) #转换成ASCii编码的字符串 print("a:%x, b:%s,c:%s" %(a,b,c)) print type(a) print type(b) print type(c)
测试结果:
a:665554, b:665554,c:fUT <type 'int'> <type 'str'> <type 'str'>
ASCii编码字符串转十六进制整数
# -*- coding: utf-8 -*- import binascii c = 'fUT' e = 0 #暂存结果 for i in c: d = ord(i) #单个字符转换成ASCii码 e = e*256 + d #将单个字符转换成的ASCii码相连 print("e:%x" %e) print type(e)
测试结果:
e:665554 <type 'int'>
可以看到,以上两段小程序顺利实现了这个设计要求
以上这篇Python 十六进制整数与ASCii编码字符串相互转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python字符串、整数、和浮点型数相互转换实例
前言序锦 在编程中,经常要用到字符串的相互转换,现在在这里记录一下Python里面的字符串和整数以及浮点型数之间是如何进行相互转换的. int(str)函数将符合整数的规定的字符串转换成int型的 float(str)函数将符合浮点型的规定的字符串转换成float型的 str(num)将整数.浮点型转换成字符串型的 int(str)函数将符合整数的规定的字符串转换成int型的 num2 = "123"; num2 = int(num1); print("num2: %d&qu
-
Python二进制串转换为通用字符串的方法
一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理. Python代码的编码规则为UTF-8.在读入时,文件的每行是二进制串,形如: b'heroes\xff..... 在对每行进一步进行处理时,要求处理对象必须为通用字符串,所以: lineVec = str(line).strip().split('\t') 此时的lineVec的元素类型为string,但输出是仍然是 "b'heros\xff-.." ,仍然无法摆脱二进制标志的影响.然而,尴尬的是,
-
python实现字典(dict)和字符串(string)的相互转换方法
本文实例讲述了python实现string和dict的相互转换方法.分享给大家供大家参考,具体如下: 字典(dict)转为字符串(string) 我们可以比较容易的将字典(dict)类型转为字符串(string)类型. 通过遍历dict中的所有元素就可以实现字典到字符串的转换: for key, value in sample_dic.items(): print "\"%s\":\"%s\"" % (key, value) 字符串(string
-
Python不使用int()函数把字符串转换为数字的方法
不使用int()函数的情况下把字符串转换为数字,如把字符串"12345"转换为数字12345. 方法一:利用str函数 既然不能用int函数,那我们就反其道而行,用str函数找出每一位字符表示的数字大写. def atoi(s): s = s[::-1] num = 0 for i, v in enumerate(s): for j in range(0, 10): if v == str(j): num += j * (10 ** i) return num 方法二:利用ord函数
-
使用Python将字符串转换为格式化的日期时间字符串
我正在尝试将字符串"20091229050936"转换为"2009年12月29日(UTC)" >>>import time >>>s = time.strptime("20091229050936", "%Y%m%d%H%M%S") >>>print s.strftime('%H:%M %d %B %Y (UTC)') 给 AttributeError: 'time.str
-
Python 字符串与二进制串的相互转换示例
一个问题,在Python中,如何将一个字符串转换为相应的二进制串(01形式表示),并且能够将这个二进制串再转换回原来的字符串. 一个简单版本 def encode(s): return ' '.join([bin(ord(c)).replace('0b', '') for c in s]) def decode(s): return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]]) >>>encode('hello'
-
Python实现字符串与数组相互转换功能示例
本文实例讲述了Python实现字符串与数组相互转换功能.分享给大家供大家参考,具体如下: 字符串转数组 str = '1,2,3' arr = str.split(',') print a 运行结果: 数组转字符串 #方法1 arr = ['a','b'] str1 = ','.join(arr) print str1 #方法2 arr = [1,2,3] #str = ','.join(str(i) for i in arr)#此处str命名与str函数冲突! str2 = ','.join(
-
python 字符串和整数的转换方法
数字转成字符串 方法一: 使用格式化字符串: tt=322 tem='%d' %tt tem即为tt转换成的字符串 常用的格式化字符串: %d 整数 %f%F 浮点数 %e%E 科学计数 %g%G e 和%f/%E 和%F 的简写 %% 输出% 格式化操作符辅助指令 符号 作用 * 定义宽度或者小数点精度 - 用做左对齐 + 在正数前面显示加号( + ) <sp> 在正数前面显示空格 # 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') 0
-
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
去空格及特殊符号 s.strip().lstrip().rstrip(',') Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 连接字符串 #strcat(sStr1,sStr2) sStr1 = 'strcat' sStr2 = 'append' sStr1 += sStr2 print
-
Python 十六进制整数与ASCii编码字符串相互转换方法
在使用Pyserial与STM32进行通讯时,遇到了需要将十六进制整数以Ascii码编码的字符串进行发送并且将接收到的Ascii码编码的字符串转换成十六进制整型的问题.查阅网上的资料后,均没有符合要求的,遂结合各家之长,用了以下方法. 环境 Python2.7 + Binascii模块 十六进制整数转ASCii编码字符串 # -*- coding: utf-8 -*- import binascii #16进制整数转ASCii编码字符串 a = 0x665554 b = hex(a) #转换成相
-
javascript实现的字符串与十六进制表示字符串相互转换方法
本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法.分享给大家供大家参考.具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6c6f); 得到的是hello <!DOCTYPE html> <html> <head> <title>Hex-Char Bi-Converter</title> </head> <body
-
javascript十六进制数字和ASCII字符之间的转换方法
如下所示: var hex="0x29";//十六进制 var charValue = String.fromCharCode(hex);//生成Unicode字符 var charCode = charValue.charCodeAt(0);//获取指定字符的十进制表示. var hexOri="0x"+charCode.toString(16);;//将int值转换为十六进制 alert("hex:"+hex+"\ncharValu
-
Python小整数对象池和字符串intern实例解析
is用于判断两个对象是否为同一个对象,具体来说是两个对象在内存中的位置是否相同. python为了提高效率,节省内存,在实现上大量使用了缓冲池技术和字符串intern技术. 整数和字符串是不可变对象,也就意味着可以用来共享,如100个"python"字串变量可以共享一个"python"字符串对象,而不是创建100个"python"字符串. 小整数对象池 为了应对小整数的频繁使用,python使用对小整数进行了缓存,默认范围为[-5,256],在这
-
Python实现将16进制字符串转化为ascii字符的方法分析
本文实例讲述了Python实现将16进制字符串转化为ascii字符的方法.分享给大家供大家参考,具体如下: 字符串456e633064316e675f31735f66336e,通过Python,按照两个字符,例如45,6e,63形式变成ascii码格式,输出acsii码格式的字符串. 代码如下: a = "456e633064316e675f31735f66336e" ''.join([chr(int(b, 16)) for b in [a[i:i+2] for i in range(
-
CString,字符串,整数等相互转换方法(推荐)
字符串转int int atoi(const char *string); _int64 _atoi64(const char *string); int _wtoi(const wchar_t *string); _int64 _ wtoi64(const char *string); 字符串转long long atol(const char * string); long _wtol(const wchar_t *string); 字符串转double double atof(const
-
c# 实现获取汉字十六进制Unicode编码字符串的实例
1.汉字转十六进制UNICODE编码字符串 /// <summary> /// //// /// </summary> /// <param name="character"></param> /// <returns></returns> public string CharacterToCoding(string character) { string coding = ""; for (i
-
Python基础之文本常量与字符串模板
一.前言 在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符串处理,往往在开发者也能事半功倍.比如针对于字符串的处理,也是自然语言处理的基础知识. 而python3中,处理字符串的库为:string.本篇将详细介绍各种字符串的高效处理方式. 二.首字母大写 对于英文单词组成的字符串来说,很多时候,我们需要对英文的首字母进行大写的变更.如果没有了解其高效率的函数,一般我们都通过循环,判断空格,取空格后一位的字母,判断其在ASCII中的编码后,取其大写替换掉该位置的字符串.
-
Python获取系统默认字符编码的方法
本文实例讲述了Python获取系统默认字符编码的方法.分享给大家供大家参考.具体分析如下: 在Python代码中,普通字符串的编码方式与程序源文件编码方式一致的,而很多IDE在默认情况下,将程序源文件按照系统默认字符编码来保存的. 下面给出用Python获取系统默认编码的例子: #!/usr/bin/env python #coding=utf-8 """ 获取系统默认编码 """ import sys print sys.getdefaulte
-
python实现修改固定模式的字符串内容操作示例
本文实例讲述了python实现修改固定模式的字符串内容操作.分享给大家供大家参考,具体如下: 说明 字符串模式是开头可能有空格,之后可能存在多个小数点,然后后面跟着一个数字,数字可能是小数,数字后可能存在空格. 任务要求删去开头的小数点,如下: " -78 " 修改为" 78 " " -7.889 " 修改为" 7.889 " ".9.8"修改为"9.8" 代码示例 注意这里正则的模式和
随机推荐
- Android实现二级列表购物车功能
- 用xslt将xml解析成xhtml的代码
- Java创建数组的几种方式总结
- 利用Python爬取微博数据生成词云图片实例代码
- 为JavaScript提供睡眠功能(sleep) 自编译JS引擎
- JavaScript 检测浏览器和操作系统的脚本
- asp.net C#实现解压缩文件的方法
- 网站用php实现paypal整合方法
- Android App调试内存泄露之Cursor篇
- Codeigniter发送邮件的方法
- thinkPHP交易详情查询功能详解
- MariaDB(MySQL)创建、删除、选择及数据类型使用详解
- javascript div 弹出可拖动窗口
- Mybatis如何配置连接池
- jQuery快速上手:写jQuery与直接写JS的区别详细解析
- js从输入框读取内容,比较两个数字的大小方法
- 5分钟打造简易高效的webpack常用配置
- url传递的参数值中包含&时,url自动截断问题的解决方法
- 六大主流防火墙正确设置技巧
- 从DV制作VCD的软件方法