python input()键盘输入8583报文带有\x单反斜杠自动转义问题解决办法

  用input()输入的字符串是8385报文比如:\x30\x30\x30\x30。。。,但是输入后,代码把8583报文字符串中多加了一个\,类似\\x30。

  但是我把input()代码注释掉,把8583报文在变量中写死,就没有这个问题,我想应该是编码问题造成的。

  input输入和变量固定,难道还有什么不一样吗?

  代码如下:

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

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

  代码如下:

 1 #coding:utf-8
 2
 3 #固定8583报文16进制数据
 4 a = "\x31\x31\x39\x39\x30\x36\x30\x30\x30\x32\x30\x30"
 5 print(type(a))
 6 print(a)
 7 b = str(a)
 8 print("变量-->%s"%b)
 9
10
11 #通过键盘复制的8583报文16进制数据
12 #\x31\x31\x39\x39\x30\x36\x30\x30\x30\x32\x30\x30
13 input_a = raw_input("输入1—>:").decode("unicode_escape")
14 if "\\x" in input_a:
15     print("输入的单反斜杠,被系统自动转义双反斜杠\\x")
16 else :
17     print("使用unicode_escape存储内存值方法,输入的8583报文单反斜杠没有被转义")
18     print(type(input_a))
19     b = str(input_a)
20     print("键盘-->%s"%b)
21
22 #查问题
23 input_a1 = raw_input("输入2—>:")
24 if "\\x" in input_a1:
25     print("输入的单反斜杠,被系统自动转义双反斜杠\\x")
26 else :
27     print(type(input_a))
28     b = str(input_a)
29     print("键盘-->%s"%b)

  百度了一些资料,我们数据字符串通常都是str、unicode类型,基本上都是采用直接存储的的方式,还有一种存储方式是按字符串的内存编码值进行存储,它在读取字符串的时候再反转回来。

1 >>> u‘中文测试‘.encode(‘unicode-escape‘)
2 ‘\\u4e2d\\u6587\\u6d4b\\u8bd5‘
3
4 >>> ‘\\u4e2d\\u6587\\u6d4b\\u8bd5‘.decode(‘unicode-escape‘)
5 u‘\u4e2d\u6587\u6d4b\u8bd5‘

原文地址:https://www.cnblogs.com/zhuque/p/8410900.html

时间: 2024-11-05 14:47:54

python input()键盘输入8583报文带有\x单反斜杠自动转义问题解决办法的相关文章

Linux下使用Python捕获键盘输入

在Linux下如何用Python监控键盘记录 思路 在上篇已经说到如何使用Python获取/dev/input目录下event对应的设备的名字.那么我们可以知道设备的名字,就可以通过名字知道哪些event对应的是键盘(可能不只一个键盘).然后在/dev/input/下的对应的event就是负责处理键盘输入的数据的event. evdev 输入事件驱动,为输入子系统提供了一个默认的事件处理方法.其接收来自底层驱动的大多数事件,并使用相应的逻辑对其进行处理.evdev 输入事件驱动从底层接收事件信息

Python读取键盘输入

Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: raw_input input raw_input函数 raw_input() 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符): str = raw_input("Enter your input: "); print "Received input is : ", str 这将提示你输入任意字符串,然后在屏幕上显示相同的字符串.当我输入"Hello Pyt

Python input保证输入为int类型

t = float(input("t(℃)=")) 原文地址:https://www.cnblogs.com/3daytears/p/9226604.html

python模拟键盘输入+切换键盘布局

PostMessage() def keyHwnd(hwndEx, char): """ 向指定控件输入值 :param hwndEx: 控件句柄 :param char: 字符串 :return: True or Flase """ try: for _ in char: print('key:%s ascii:%d' % (_, ord(_))) win32api.PostMessage(hwndEx, win32con.WM_CHAR, o

Python原始字符串无法在字符串结尾加上反斜杠的处理方式

如果你这样: print(r"/n/n/n/n/n/n/") 会报SyntaxError. 原因是因为最后的反斜杠转义了后面跟着的引号. 因此我们需要对转义进行反转义,然后删除最后一个反义字符. 就像这样: print(r"/n/n/n/n/n/n//"[:-1])

【转】python中的正斜杠、反斜杠

原文地址:http://www.cnblogs.com/followyourheart1990/p/4270566.html 首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" p

Python中的正斜杠与反斜杠

首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" path1 = r"c:\windows\temp\readme.txt" path2 = "c:

Python 正斜杠/与反斜杠\

首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" path1 = r"c:\windows\temp\readme.txt" path2 = "c:

python 正则表达式中反斜杠(\)的麻烦和陷阱

这里是一点小心得:由于下面两个原因,在正则表达式中使用反斜杠就会产生了一个双重转换的问题.(1).python自身处理字符串时,反斜杠是用于转义字符 (2).正则表达式也使用反斜杠来转义字符     要匹配字符串中1个反斜杠应该怎么写正则表达式?"\\",这样行吗?试试就知道了,re模块抛异常了,因为在正则表达式中,"\\"就是一个反斜杠,对于正则表达式解析器来说,是一个转义字符,但是后面啥也没有,自然就报错了,"\\\"三个肯定是不行的,试试四