有时候我们可能会需要做十六进制数与ascii码的转换,但是上网搜索转换器需要耗费一定时间,有时候还不一定能满足自己的需要

例如,如何将'6a 6b 6c 6d'转换为相应的ascii码字符?

可能我们可以去查ascii码表,但是一来,查找耗时间,第二呢,如果我们需要同时查找多个十六进制的对应的ascii码值,总不能一个个查吧。
所以,我们可以自己写一个简单的代码,实现多十六进制数与ascii的转换。

1、十六进制转换为ascii

def main():try:      #为确保健壮性,需要对异常进行处理def hexToAscii(hN):n=map(lambda x:chr(int(x,16)),hN.split(' '))for i in n:print(i,end="")         #对映射进行遍历n = input('输入十六进制数,以空格为分隔符:')hexToAscii(n)print()except:   #不正常的输入的情况下,会提示你重新输入,并再次执行主函数print("请输入正确的数!")main()
main()

lambda函数是匿名函数,可以对输入的值进行处理

split()将输入的字符串进行分割,以’ '为分隔符,将字符串分割为数组

map函数有两个参数,可以对指定的序列做出映射,简单来说,就是可以对序列进行处理,然后返回一个map对象

int(x,16)将十六进制数转换为十进制数
chr()实现的功能就是将十进制数转换为ascii码
合起来就是map(lambda x:chr(int(x,16),hN.split(’ '))

例如,通过以下代码,返回序列中每一个值与2的乘积

十六进制转换为十进制

字符串分割

最后实现这样的效果

2、ascii转十六进制

def main():try:def AsciiToHex(string):s = map(lambda x:hex(ord(x)).strip('0x'),string)for t in s:print(t,end=" ")string = input('输入字符串:')AsciiToHex(string)print()except:print("请输入正确的数!")main()
main()

map()也可以对字符串做出映射

hex(ord(x))将ord(x)得到的int类型的十进制数转换为十六进制

string.strip(‘0x’)对得到的字符串进行处理,去除’0x’
最后的效果:

3、批处理文件

@echo off
chcp 65001
title ASCII码转换
color f2:menu
echo            ++++选项++++
echo        1 ascii to hex
echo        2 hex to ascii
echo        3 exit
set /p number=输入序号:
if %number%==1 goto ascii_hex
if %number%==2 goto hex_ascii
if %number%==3 exit
echo 请输入序号:(1-3):
pause
goto menu:ascii_hex
python asciiToHex.py
pause
goto :menu:hex_ascii
python hexToAscii.py
pause
goto menu

由于使用的是相对路径,所以需要把它们放在同一个文件夹下,同时还要确保python可以在cmd里运行(配置python环境变量)。

最后的效果

Python 十六进制数与ascii码的转换相关推荐

  1. python 语言, 详解fromstring 函数 -------------从字符串到Ascii 码的转换

    先来个小例子: test = "abcdef" temp = numpy.fromstring(test,dtype=numpy.int8) print(temp) 结果为:[ 9 ...

  2. python代码实现ASCII码转换

    ☞☞☞点击查看更多优秀Python博客☜☜☜ ASCII码转换 python代码实现ASCII码转换 ==**文章导航:==** python代码实现ASCII码转换 自己刚开始学习python不久, ...

  3. java hex_使用java实现hex和ascii码的转换

    原标题:使用java实现hex和ascii码的转换 几乎很少写JAVA代码,第一是确实不会,第二感觉JAVA写起来不爽(较python.golang),但总有万不得已必须要用java的时候.这里记录下 ...

  4. 将十六进制数的ASCII码转换为十进制数。十六进制数的值域为0~65535,最大转换为五位十进制数。要求将缓冲区的000CH的ASCII码转换为十进制,并将结果显示在屏幕上。

    将十六进制数的ASCII码转换为十进制数.十六进制数的值域为0~65535,最大转换为五位十进制数.要求将缓冲区的000CH的ASCII码转换为十进制,并将结果显示在屏幕上. 1.程序源码 DATAS ...

  5. python基础(1) - ASCII码的转换及字母的大小写转化

    取次花丛懒回顾,半缘修道半缘君. –元稹 <离思> 你们是否发现,不论学习哪门语言,是不是总有一些"经典"的问题绕之不去--求公因数,奇偶数输出,字母大小写的转换- 那 ...

  6. python 字符串与ASCII码转换的脚本

    这里写自定义目录标题 #!/usr/bin/python coding=utf-8flag = 1 while flag:print(">>=================== ...

  7. Python:利用ASCII码转换字符串大小写(非lower、upper)

    str = input("请输入一段字符串,回车结束:\n") for i in range(len(str)): #遍历字符串中每个字符# 利用ASCII码确定大小写:也可以用: ...

  8. python Unicode转ascii码的一种方法

    缘起 看到这样的数据:Marek Čech.Beniardá怎样变成相对应的ascii码呢 解决 import unicodedata s = u"Marek Čech" #(u表 ...

  9. python基础整理——ASCII码、Unicode、utf-8、gbk

    2019独角兽企业重金招聘Python工程师标准>>> 编码的问题其实是各国语言多样性造成的,最初的计算机是美国发明的,而计算机只能处理数据,不能够处理文本文档.因为计算机只能处理数 ...

  10. php 转ascii编码,php与ascii码的转换

    首先 简单说一下历史,ascii码最开始是美国人搞出来的,用来干什么呢?我们知道,计算机只知道0和1,如果我们要计算机识别除了01之外的字符,例如 'a',我们要先告诉计算机'1100001'就是'a ...

最新文章

  1. linux 搭建jenkins
  2. C# WPF图表控件之ChartControl用法指南①
  3. Qt 第二步 熟悉文件结构组成(二)
  4. 如何逼疯一名数学系学生?
  5. 「开发小技巧」07—如何使用HTML和CSS创建图像叠加图标?
  6. matlab离散傅里叶逆变换,手动实现离散傅里叶正变换与逆变换(程序+例子)
  7. 05人月神话阅读笔记
  8. 为什么要学习Kotlin
  9. eclipse翻译插件,支持最新版eclipse 2022-09
  10. 内网外网双通下的一种网络拓补方案
  11. 雅虎邮箱pop服务器,雅虎邮箱pop如何设置
  12. IDEA社区版配置Spring Boot开发
  13. ae中合成设置的快捷键_Adobe AE快捷键大全
  14. HCIE-Routing Switching V3.0 资料分享
  15. 安卓救砖或删除第三方ROM推广APP
  16. 20190826——python对象实例搬家具
  17. 用正则表达式替换手机号为星号*的写法
  18. CSS+HTML+JS----开发简单个人网站
  19. C语言————二进制转十进制
  20. 大衣哥柳暗花明又一村,传和合国际收购孟文豪《火火的情怀》版权

热门文章

  1. 内部推荐岗位信息201508
  2. 【自动驾驶】LQR控制实现轨迹跟踪
  3. 人口预测模型及matlab代码
  4. php100视频解压密码
  5. 小白能读懂的 《手把手教你学DSP(TMS320X281X)》第六章 F2812的存储器映像
  6. 联系人存储ContactsProvider表分析
  7. 如何安装xvidcore
  8. android8.1dolby,努比亚X刷杜比音效教程-按推理支持绝多数安卓8和安卓9系统
  9. 如何彻底删除SQL Server2005
  10. 计算机输入码分类,汉字输入码种类数字编码.ppt