字符串无法粘贴到新的iPython 5.0中
在python 2.7控制台以及iPython 4中,我能够将此字符串粘贴到一个变量中,如下所示:字符串无法粘贴到新的iPython 5.0中,python,string,ipython,non-ascii-characters,Python,String,Ipython,Non Ascii Characters,在python 2.7控制台以及iPython 4中,我能够将此字符串粘贴到一个变量中,如下所示: In [2]: c = 'ÙjÌÉñõµÏ“JÖq´ž#»&•¼²nËòQZ<_' 即使是%paste也会返回一个错误: ÙjÌÉñõµ ^ SyntaxError: invalid syntax iPython从4到5发生了什么变化,为什么会发生这种情况?与没有转义引号的字符串有关吗? Ipython5用一个新的prompt_工具包替换了默认的readli
In [2]: c = 'ÙjÌÉñõµÏ“JÖq´ž#»&•¼²nËòQZ<_'
即使是%paste
也会返回一个错误:
ÙjÌÉñõµ
^
SyntaxError: invalid syntax
iPython从4到5发生了什么变化,为什么会发生这种情况?与没有转义引号的字符串有关吗?
Ipython5用一个新的prompt_工具包替换了默认的readline
看起来您的字符串有几个字符,旧的读线忽略了这些字符,而新的读线看到了这些字符。第一个出现在µ
之后。我在SO窗口中看不到它,但当将光标移动到线上时,我可以“感觉到”。在将行粘贴到编辑器中时,我也可以看到一些东西。但我对原始文本工具不够熟悉,无法了解更多
当我把你的字符串粘贴到一个普通的Python shell中时,我得到了一个铃声,屏幕就清晰了。因此,即使是常规的readline
也会遇到这个字符串的问题
我添加了“|”是否存在无法打印的字符
c = 'ÙjÌÉñõµ|Ï“JÖq´ž#|»&•¼|²nËòQZ<_'
c='jÌÌõµ|Ï“将^L
更改为^L
会使它接受它,但c
中缺少该序列。就好像新的读线
代码将^L
解释为控制字符一样。它不应该这样。这个字符串的来源是什么?有多少个字符?假设是什么d代表?32个字符。它是给定明文和密钥上DES加密的密文和iv。如果我ctrl v
在一个普通的python2.7
会话上的字符串,并询问len(c)
我得到46。如果我向其中添加u
(unicode),我得到27。
c = 'ÙjÌÉñõµ|Ï“JÖq´ž#|»&•¼|²nËòQZ<_'