用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单反斜杠自动转义问题解决办法的更多相关文章

  1. Python模拟键盘输入和鼠标操作

    Python模拟键盘输入和鼠标操作 一.Python键盘输入模拟: import win32api import win32con win32api.keybd_event(17,0,0,0)  #c ...

  2. Python读取键盘输入

    Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.例如以下: raw_input input raw_input函数 raw_input() 函数从标准输入读取一个行.并返回 ...

  3. HoloLens开发手记 - Unity之Keyboard input 键盘输入

    虽然HoloLens支持很多种输入方式,包括蓝牙键盘在内.但是大部分应用还是不能断定用户有物理键盘可以输入,所以虚拟键盘输入还是必须要提供的. Unity提供了一个TouchScreenKeyboar ...

  4. python -input用户输入

    #接收用户输入信息用input就可以了 #还有输入密码的,也就是隐藏的,pycharm中不好用,要到命令行去 import getpass name = input('name:') age = in ...

  5. Python input保证输入为int类型

    t = float(input("t(℃)="))

  6. python 模拟键盘输入

    备忘录 import win32api import win32con win32api.keybd_event(17,0,0,0) #ctrl键位码是17 win32api.keybd_event( ...

  7. python 调用pymysql模块遇到\转义问题解决办法

    1.问题情况 本来存入mysql的是字典,有汉字,由于python版本是2.7,所以在json的时候把我的值变成了unicode,那么在调用pymysql的时候,mysql给我转义取消了. 存之前: ...

  8. python raw String 获取字符串变量中的反斜杠

    常用的获取raw string的方式为: >>>r'\n' \n 不能用在字符串变量中,获取字符串变量中的反斜杠如下: tab = '\n' >>>tab.enco ...

  9. python 如何让字符串的不具有转义的反斜杠具有转义功能

    用 codecs, 大概是這樣子: # python3 code import codecs print(codecs.getdecoder("unicode_escape")(' ...

随机推荐

  1. 简单实现Python调用有道API接口(最新的)

    # ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...

  2. pytorch识别CIFAR10:训练ResNet-34(自定义transform,动态调整学习率,准确率提升到94.33%)

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 前面通过数据增强,ResNet-34残差网络识别CIFAR10,准确率达到了92.6. 这里对训练过程 ...

  3. python + django + echart 构建中型项目

    1. python生产环境, 多层modules 导入问题: 多个modules 如何导入不同级别的包: 在每个modules下新建 __init__.pyimport os, sys dir_myt ...

  4. 解决win环境下访问本机虚拟机中centos7 ftp服务器的问题

    inux搭建ftp服务器 1.安装软件: yum install vsftpd 2.修改配置文件vsftpd.conf: vim /etc/vsftpd/vsftpd.conf 把anonymous_ ...

  5. java循环1

    public class f_w { public static void main(String []args) { int a=0; System.out.print("_info__w ...

  6. eclipse mars2在高分辨率下(macpro)图标极小的问题

    Mac Pro装WIN10和Surface Pro同样有效 安装了Eclipse并且打开之后,发现图标显示极其细小,肉眼几乎无法看清了.这是由于Eclipse对高分屏没有作适配导致的. Windows ...

  7. git 学习(4) ----- git rebase

    使用git rebase 的前提是多人协作下的分支开发,如果是单人开发,那就没有必要使用它了,这是由git rebase 的作用所决定的,git rebase 有两大作用:一个是与主分支保持同步,一个 ...

  8. 第一章 Python基本语法元素分析(二)

    1.3   实例1:温度转换 根据华氏和摄氏温度定义,利用转换公式如下: C=(F-32)/1.8 F=C*1.8+32 代码如下: 运行结果: 1.4   Python程序语法元素分析 注释:不被程 ...

  9. Go语言中数组

    数组是一个值类型 func ArrayTest1(){ var arryA [3]int = [3]int{1,2,3} //创建一个数组B,将B中第二个元素设置为200 arryB := arryA ...

  10. luogu P1659 [国家集训队]拉拉队排练

    唔....话说好久没有发布题解了(手痒痒了 首先特别鸣谢lykkk大佬今天下午教我Manacher算法,甚是感谢 为了体现学习成果,写一篇蒟蒻版的题解(大佬勿喷 言归正传 题面——>在这儿 首先 ...