python input()键盘输入8583报文带有\x单反斜杠自动转义问题解决办法
用input()输入的字符串是8385报文比如:\x30\x30\x30\x30。。。,但是输入后,代码把8583报文字符串中多加了一个\,类似\\x30。
但是我把input()代码注释掉,把8583报文在变量中写死,就没有这个问题,我想应该是编码问题造成的。
input输入和变量固定,难道还有什么不一样吗?
代码如下:

输入的单反斜杠,被系统自动转义双反斜杠\\x,代码中增加了依据判断:
if "\\x" in input_a1:

在input()键盘输入时,增加decode("unicode_escape")解决了问题。

代码如下:
#coding:utf-8 #固定8583报文16进制数据
a = "\x31\x31\x39\x39\x30\x36\x30\x30\x30\x32\x30\x30"
print(type(a))
print(a)
b = str(a)
print("变量-->%s"%b) #通过键盘复制的8583报文16进制数据
#\x31\x31\x39\x39\x30\x36\x30\x30\x30\x32\x30\x30
input_a = raw_input("输入1—>:").decode("unicode_escape")
if "\\x" in input_a:
print("输入的单反斜杠,被系统自动转义双反斜杠\\x")
else :
print("使用unicode_escape存储内存值方法,输入的8583报文单反斜杠没有被转义")
print(type(input_a))
b = str(input_a)
print("键盘-->%s"%b) #查问题
input_a1 = raw_input("输入2—>:")
if "\\x" in input_a1:
print("输入的单反斜杠,被系统自动转义双反斜杠\\x")
else :
print(type(input_a))
b = str(input_a)
print("键盘-->%s"%b)
百度了一些资料,我们数据字符串通常都是str、unicode类型,基本上都是采用直接存储的的方式,还有一种存储方式是按字符串的内存编码值进行存储,它在读取字符串的时候再反转回来。
>>> u'中文测试'.encode('unicode-escape')
'\\u4e2d\\u6587\\u6d4b\\u8bd5'
>>> '\\u4e2d\\u6587\\u6d4b\\u8bd5'.decode('unicode-escape')
u'\u4e2d\u6587\u6d4b\u8bd5'
python input()键盘输入8583报文带有\x单反斜杠自动转义问题解决办法的更多相关文章
- Python模拟键盘输入和鼠标操作
Python模拟键盘输入和鼠标操作 一.Python键盘输入模拟: import win32api import win32con win32api.keybd_event(17,0,0,0) #c ...
- Python读取键盘输入
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.例如以下: raw_input input raw_input函数 raw_input() 函数从标准输入读取一个行.并返回 ...
- HoloLens开发手记 - Unity之Keyboard input 键盘输入
虽然HoloLens支持很多种输入方式,包括蓝牙键盘在内.但是大部分应用还是不能断定用户有物理键盘可以输入,所以虚拟键盘输入还是必须要提供的. Unity提供了一个TouchScreenKeyboar ...
- python -input用户输入
#接收用户输入信息用input就可以了 #还有输入密码的,也就是隐藏的,pycharm中不好用,要到命令行去 import getpass name = input('name:') age = in ...
- Python input保证输入为int类型
t = float(input("t(℃)="))
- python 模拟键盘输入
备忘录 import win32api import win32con win32api.keybd_event(17,0,0,0) #ctrl键位码是17 win32api.keybd_event( ...
- python 调用pymysql模块遇到\转义问题解决办法
1.问题情况 本来存入mysql的是字典,有汉字,由于python版本是2.7,所以在json的时候把我的值变成了unicode,那么在调用pymysql的时候,mysql给我转义取消了. 存之前: ...
- python raw String 获取字符串变量中的反斜杠
常用的获取raw string的方式为: >>>r'\n' \n 不能用在字符串变量中,获取字符串变量中的反斜杠如下: tab = '\n' >>>tab.enco ...
- python 如何让字符串的不具有转义的反斜杠具有转义功能
用 codecs, 大概是這樣子: # python3 code import codecs print(codecs.getdecoder("unicode_escape")(' ...
随机推荐
- react中的this.setState()
修改组件的状态可以使用的一些方法: 1.比较常用的 this.setState({ message:"你好" }) 2.state更新是异步的时候 因为this.props和thi ...
- CSS 实现自动换行、强制换行、强制不换行的属性
实现效果 1.自动换行: word-wrap:break-word; word-break:normal; 2.强制换行: word-break:break-all; 按字符截断换行 /* ...
- win 解压安装mysql步骤
5 安装成功之后,启动mysql时报错: 系统错误2,找不到指定的文件.原因:有的系统安装过MySQL没有卸载干净,或者系统自带精简版的MySQL导致注册表关于MySQL的配置与实际安装路径不一致. ...
- mysql 索引中的USING BTREE 的意义
索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型. 根据存储引擎定义每个表的最大索引数和最大索引长度.所有存储引擎支持每个表至少16个索引,总 ...
- Centos7下安装和配置vim
Centos7 最新版本默认已经安装vim,可以使用命令查看是否安装 rpm -qa|grep vim 输出结果如下,如无以下输出结果,则安装vim: vim-filesystem-7.4.160-4 ...
- LODOP不同电脑打印效果不同排查
1.位置不同,偏移问题.详细的相关偏移问题的博文:LODOP不同打印机出现偏移问题 2.样式问题. 本机浏览器解析样式不同 ,相关超文本样式博文:Lodop打印控件传入css样式.看是否传入正确样式 ...
- centos7使用kubeadm安装部署kubernetes 1.14
应用背景: 截止目前为止,高热度的kubernetes版本已经发布至1.14,在此记录一下安装部署步骤和过程中的问题排查. 部署k8s一般两种方式:kubeadm(官方称目前已经GA,可以在生产环境使 ...
- 通用权限管理系统之权限菜单zTree树的展示及移动的处理方法
在通用权限管理系统中,有很多数据结构是有父子关系的,如组织机构,部门,权限菜单等,在展示的时候,大多数是通过zTree树的形式展现的,如下: 权限菜单展示 这种数据后台输出比较容易处理,参考如下获取某 ...
- Security+高分考过经验分享812分
Security +也是无意中从谷安的宣传单知道的,本来就是想从事安全的行业,而且Security +含金量高,是国际认可的认证就想着去考一考试试. 大概从2018.12开始正式准备的,前面时间都是停 ...
- Linux基础知识梳理
Linux基础知识梳理 Linux内核最初只是由芬兰人林纳斯?托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的.Linux是一套免费使用和自由传播的类Unix操作系统,是 ...